Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

[gelöst] Drupal 7: JS ist eingebunden aber tut nicht

Eingetragen von d_rehtür (39)
am 17.01.2011 - 12:37 Uhr in
  • Themes & Theming
  • Drupal 7.x

Hallo liebe Leute,

ich weiß nicht ob ich etwas Drupal spezifisches übersehen habe, aber in der Trockenübung hat es funktioniert. Der Code könnte auch simpler nicht sein...

(function($) {
      $('.wurst').hide('slow');
})(jQuery);

nach http://drupal.org/update/modules/6/7#javascript_compatibility

...ich möchte also das div Element mit der Klasse wurst verstecken. (Ja, es geht um eine Metzgerei-Seite....)

Der Code wird als script.js über die theme.info eingebunden und schafft es auch bis in die geladene Seite. Dort versteckt er aber das div-Element nicht. Fehlermeldungen werden in Firebug nicht angezeigt.

Wäre sehr dankbar für Hilfe!
Andi

‹ [gelöst] FadeTo - "blinkendes" Bild. acquia slate banner-bild ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

js

Eingetragen von stBorchert (6003)
am 17.01.2011 - 12:42 Uhr

Hallo.
Hast Du das Javascript im Header eingebunden oder im Footer? Eventuell wird es ausgeführt, bevor das HTML-Element vorhanden ist.
Eventuell funktioniert es auch, wenn Du Deinen Code in Behaviors packst:

(function ($) {
  Drupal.behaviors.exampleModule = {
    attach: function(context, settings) {
      $('.wurst', context).hide('slow');
    }
  };
})(jQuery);

Dann kümmert sich Drupal nämlich um den korrekten Initialisierungszeitpunkt des Skripts.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke Stefan für die schnelle

Eingetragen von d_rehtür (39)
am 17.01.2011 - 12:51 Uhr

Danke Stefan für die schnelle Antwort. Meine script.js wird im header eingebunden, als letzte js-datei.

Zu der Einbindung als behavior: Was muss ich anstelle von exampleModule einsetzen? Mein skript ist ja nicht an ein modul angebunden.

Danke schonmal

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super, es funktioniert schon

Eingetragen von d_rehtür (39)
am 17.01.2011 - 12:55 Uhr

Super, es funktioniert schon mit exampleModule, auch wenn meine Frage nach der Angabe bleibt :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

"Modul"

Eingetragen von stBorchert (6003)
am 17.01.2011 - 13:05 Uhr

Schön, dass es so funktioniert.

d_rehtür schrieb

Was muss ich anstelle von exampleModule einsetzen? Mein skript ist ja nicht an ein modul angebunden.

Hm, da kannst Du irgendwas hinschreiben. Das definiert eigentlich nur so eine Art Namespace für dieses Skript.
Empfehlen würde ich da schon einen halbwegs deskriptiven Namen, also sowas wie Dupal.behaviors.wurstHideItems. Oder so ähnlich.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super, danke!

Eingetragen von d_rehtür (39)
am 17.01.2011 - 13:06 Uhr

Super, danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich habe eine Anschlussfrage:

Eingetragen von unimarkt (67)
am 27.01.2011 - 12:22 Uhr

Ich habe eine Anschlussfrage: (Das sind meine ersten Versuche/Spielereien mit jQuery)

Ich möche einen click-event davor schalten, also ganz klassisch: Wenn ich auf A klicke, verschwindet B...

Es funktioniert mit dem Code:

(function ($) {
  Drupal.behaviors.exampleModule = {
    attach: function(context, settings) {
      $('#block-views-neuste-artikel-block-1', context).hide('slow');
    }
  };
})(jQuery);

Wo? Wie? Warum? muss ich diesen Code (oder so ähnlich) einfügen? $('#block-block-1', context).click(???);

Vielen Dank für eure Hilfe (Ich habe echt lange selbst probiert...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das ist

Eingetragen von Hyp1 (1463)
am 27.01.2011 - 12:30 Uhr

das sind Javascript Funktionen die in JQuery
vordefiniert sind.
Am besten liest Du ein Tutorial über JQuery.
oder siehst Dir die jquery.js dateien mal an ;-)

LG

PS:
das meiste Basiert auf AJAX Request
wenn ich mich nicht mal wieder Irre :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

jaja habe ich gemacht aber

Eingetragen von unimarkt (67)
am 27.01.2011 - 12:49 Uhr

jaja habe ich gemacht aber ich bin v.a. verwirrt durch das

(function ($) {
  Drupal.behaviors.exampleModule = {
    attach: function(

Ich habe Tutorials angesehen und gelesen. Auf jQuery.com sieht das ganze ganz einfach aus, sollte es auch sein, passiert aber nix..

Konkret: Ich möchte, dass '#block-views-neuste-artikel-block-1' ausgeblendet wird, wenn man darauf klickt:
Also:

(function ($) {
  Drupal.behaviors.exampleModule = {
    attach: function(context, settings) {
      $('#block-views-neuste-artikel-block-1', context).click(function(){
  $(this).hide('slow');
    }}
  };
})(jQuery);

  • Anmelden oder Registrieren um Kommentare zu schreiben

Probier mal

Eingetragen von Hyp1 (1463)
am 27.01.2011 - 13:04 Uhr

mit alerts zu testen bis ob da überhaupt etwas aufgerufen wird

(function ($) {
  Drupal.behaviors.exampleModule = {
    attach: function(context, settings) {
alert("ATTACH");
      $('#block-views-neuste-artikel-block-1', context).click(function(){
alert("CLICK");
  $(this).hide('slow');
    }}
  };
})(jQuery);

Wenn "CLICK" Meldung erscheint
wurde der click handler aufgerufen.

Dann vermute ich der Fehler liegt im

$(this).hide('slow');

Probier dann mal das:

$('#block-views-neuste-artikel-block-1', context).hide('slow');

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank für deine Hilfe!

Eingetragen von unimarkt (67)
am 27.01.2011 - 13:10 Uhr

Vielen Dank für deine Hilfe!

Das Problem lag bei den Klammern. Man muss sehr vorsichtig sein ;-)

Der richtige Code lautet:

(function ($) {
  Drupal.behaviors.exampleModule = {
    attach: function(context, settings) {
      $('#block-views-neuste-artikel-block-1',context).click(function () {
      $(this).slideUp();
});
}
}
})(jQuery);

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 5 Wochen 4 Tagen
  • Vielen Dank für Ihren
    vor 5 Wochen 6 Tagen
  • Composer ist sehr ratsam
    vor 6 Wochen 1 Tag
  • Vielen Dank für den
    vor 6 Wochen 4 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 6 Wochen 4 Tagen
  • Gut gemacht
    vor 6 Wochen 4 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 6 Wochen 4 Tagen
  • Links
    vor 7 Wochen 6 Stunden
  • Moin,wow, sehr gutes
    vor 7 Wochen 1 Tag
  • Dass ist eine spannende
    vor 7 Wochen 1 Tag

Statistik

Beiträge im Forum: 250316
Registrierte User: 20567

Neue User:

  • Philiphelve
  • Robertspaft
  • drupalthemes

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 16 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association