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

  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • 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
Weiter

Neue Kommentare

  • Zwischenzeitlich habe ich
    vor 5 Stunden 44 Minuten
  • Ok ich habe die anderen
    vor 9 Stunden 28 Minuten
  • Toll
    vor 1 Tag 7 Stunden
  • Vielen Dank
    vor 1 Tag 7 Stunden
  • Vielen Dank für diese sehr
    vor 1 Tag 7 Stunden
  • Wieso willst du dass denn
    vor 1 Tag 11 Stunden
  • Oh, der Klassiker unter den
    vor 1 Tag 11 Stunden
  • Naja ich achte immer drauf on
    vor 2 Tagen 6 Stunden
  • Das ist für mich das typische
    vor 2 Tagen 9 Stunden
  • Ok es scheint zu laufen
    vor 2 Tagen 11 Stunden

Statistik

Beiträge im Forum: 250256
Registrierte User: 20469

Neue User:

  • StevenEness
  • ocvk2810
  • marouane.blel

» Alle User anzeigen

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