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

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 5 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 2 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 26 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