Javascript eseménykezelő

jade.mese képe

Sziasztok!

Az problémám, hogy szeretnék beállítani .mouseover-re lefutó javascriptet. A page.tpl.php végébe beszúrva script tag-gel nem működik. Nem szeretném a html közé írni a javascriptet.
Azt a javaslatot kaptam, hogy tegyem be egy függvénybe az összes JQuery-vel kijelölt elemheztartozó futtatandó kód eseményhez rendelését, és tegyem valahogy a body onload-ba.
Ezt nem sikerült véghez vinni. Van rá valamilyen javaslatotok, hogy hogyan álljak neki?

Üdv:
Mese

Drupal verzió: 
Fórum: 
nevergone képe

Emlékeim szerint a Drupal 6-ban a sminkben található script.js-t automatikusan hozzáadja a Drupal. Abba pedig írj ilyesmit:

Drupal.behaviors.sminkneve = function (context) {
}

Na ebbe írhatod a JS kódodat. Smink-gyorsítótárat űríts.

0
0
jade.mese képe

Gondolom, akkor D7-en is megy.

Leírom a kódot, hátha már az sem jó, és Ti megtaláljátok a hibát.

Drupal.behaviors.parkettklub2 = function (context) {
	(function ($) {
		$('.sf-item1').hover(function () {
				$('#menu-bg1').fadeTo(800, 100, "swing");
				return false;
		},function () {
				$('#menu-bg1').fadeTo(800, 0);
				return false;
		});
 
		$('.sf-item2').hover(function () {
				$('#menu-bg2').fadeTo(800, 100, "swing");
				return false;
		},function () {
				$('#menu-bg2').fadeTo(800, 0);
				return false;
		});
 
		$('.sf-item').hover(function () {
				$('#menu-bg3').fadeTo(800, 100, "swing");
				return false;
		},function () {
				$('#menu-bg3').fadeTo(800, 0);
				return false;
		});
	})(jQuery);
}

Most ezt tettem a script.js-be. Kipróbáltam úgy is, hogy az info file-ba beleírtam ezt:
scripts[] = script.js

De még mindig semmi nyoma, hogy működne... :(

0
0
pp képe

Mi lenne, ha kipróbálnád a következőket:
1. betöltődik-e a js

alert('haho');

2. működik-e a behaviors
Drupal.behaviors.sajat = function (context){
alert('haho');
}

Ekkor már látod, hogy nincs szükség erre:

(function ($) {
})(jQuery);

viszont a context változót nem véletlenül kapod meg, használd!

0
0
jade.mese képe

1. működik
2. nem működik.
Kivettem a jQuerys részt. Ezt valahol olvastam azért tettem be.

Mit kell context változó alatt érteni? :$
(JavaScriptben még nem méyledtem el túlságosan.)

Üdv:
Mese

0
0
etyike képe

Én js_injectort használok és a láblécbe teszem be a szkriptet
javítson ki valaki ha valamit rosszul írok, én ennek jártam most utána!

Drupal.behaviors.nev = function(context) {
// a nev lehet: smink, modul vagy 'akarmi'
  console.log(context);
  // firebug vagy más kiírja mi az, maga a DOM objektum asszem
  var color; // globalis valtozo megadasa
  $(context).find('a').hover(function() {
  // "linkek megkeresese"
    color = $(this).css('color'); // eredeti szin meghatarozasa
    $(this).css('color', 'red');
    // ha fole allsz egerrel milyen szine legyen a linknek
    // neked itt van egy return false; mert?
  },
  function() {
    $(this).css('color', color);
    // ha mar nem allsz folotte, akkor kapja vissza az eredeti szinet
  });
}
0
0

Kellemes és szép napot a továbbiakban
etyike

jade.mese képe

Sziasztok!

Nem tudom, hogy miért nem ment a dolog, majd kipróbálom valamikor, amit írtál.
Egyelőre sikerült megoldanom CSS-sel a dolgot.

Üdv:
Mese

0
0