Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Odniesienie tylko do pewnych znaczników
Forum PHP.pl > Forum > Przedszkole
dolby
Witam serdecznie,

Ma następujący skrypt (oto jego kwałek):
Kod
function $E(tag,el){return $(el||document).getElement(tag)}
window.addEvents({
domready:function(){
$extend(kina,{bg:$E('img',$E('#bg',db=$(document.body))),timer:(Browser.Engine.gecko||Browser.Engine.webkit)?null:setInterval(kina.fix,200),menu:$('menu')});
gal.call(gal);
if($$('div')[0]){var hs=$$('h2'),fx=hs.map(function(el){return new Fx.Morph(el,{wait:false})});
new Accordion(hs,hs.getNext(),{opacity:false,onActive:function(head,box){if($chk(this.active))fx[this.active].start({'color':'#000','backgroundColor':'#fff'});
fx[this.active=this.togglers.indexOf(head)].start({'color':'#fff','backgroundColor':'#000'})}})}


Mój problem polega na tym, by efekt był wykonywany nie na <h1> i <p> będących w <div>, lecz tylk o w <div class="costam">.

Próbowałem to rozgryźć samodzielnie, ale brak elementarnej wiedzy z zakresu JS daje się we znaki sad.gif

Będę wdzieczny za wszelką pomoc, pozdrawiam!
nithajasz
Sprawdzaj sobie klase diva object.className..

Kliknij po więcej
dolby
Dzięki smile.gif

A może być tak? (działa)

Kod
domready:function(){
$extend(kina,{bg:$E('img',$E('#bg',db=$(document.body))),
timer:(Browser.Engine.gecko||Browser.Engine.webkit)?
null:setInterval(kina.fix,200),menu:$('menu')});gal.call(gal);
if($E('.abc')){var hs=$$('h1'),fx=hs.map(function(el)
{return new Fx.Morph(el,{wait:false})});
new Accordion(hs,hs.getNext(),
{opacity:false,onActive:function(head,box){if($chk(this.active))fx[this.active].start({'color':'#000','backgroundColor':'#fff'});
fx[this.active=this.togglers.indexOf(head)]
.start({'color':'#fff','backgroundColor':'#000'})}})}


Poprstu wstawiłem w miejsce
($$('div')[0]) to: ($E('.abc'))

Semantycznie OK?


I moje następujące (mam nadzieję, że ostatnie) pytanie...

Teraz jest tak, że jak mam divy bez klasy "abc" To skrypt nie daje efektu, natomiast gdy jest "abc" - wówczas wykonuje efekt.

Problem polega, że wówczas efekt wykonuje dla wszytskich <h1> i <p> będących na stronie - nie tylko zawartych w <div class="abc">...</div>

Jak zrobić taki myk, by stosował on ten swój kod tylko dla obiektów będących w div'ie "abc"?
erix
Cytat
Jak zrobić taki myk, by stosował on ten swój kod tylko dla obiektów będących w div'ie "abc"?


Skoro to jakiś framework (domniemam), to może:

Kod
var hs=$$('h1')

na
Kod
var hs=$$('.abc h1')

?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.