Üdv!
Számomra megoldhatatlannak tűnő jQuery problémába futottam bele.
Van a jCarousel modul. Egy oldalon van 3 "carousel", mindhárommal kitűnően működik.
Egy funkciót nem tudok megvalósítani: van egy -- mondjuk egyszerűség kedvéért -- blokk, amiben van 6 link. Ebből 3-nak van egy-egy id-je, ami egy-egyre a caroussel-ek közül mutat. Tehát van egy <a href="#" id="foto">Fotó</a>
, ami a "foto" azonosítójú caroussel-re mutat. Azt kellene megvalósítani, hogy ha a foto
linkre kattintok, akkor a "foto" caroussel kezdje el a benne lévő képeket autoScroll
-lal léptetni.
Eddig így próbáltam:
$('.views-row-3 .content .field-item p a').click(function() { var target = $(this).attr('id'); $($(this).parent().siblings()).each(function() { var _target = $($(this)).children().attr('id'); if(_target != '' && $(this).hasClass('selected')) { $('.'+_target).jcarousel({ autostart: true, scroll: 1, auto: 0, wrap: 'circular' }); } }); $(this).parent().siblings().removeClass('selected'); $($(this).parent()).addClass('selected'); if(target != '') { $('.'+target).jcarousel({ autostart: true, scroll: 1, auto: 2, wrap: 'circular' }); } });
Az eredmény az, hogy arra képes, hogy elindítsa az autoScroll
-t, illetve, ha egy másik elemre kattintok, akkor meg is állítsa, de ha visszakattintok egy már korábban kattintott elemre, akkor nem indul újra a léptetés.
Hogyan lehetne ezt megoldani?
Köszönöm előre is.
csak az utókornak
A megoldás kulcsa az, hogy minden
carousel
inicializálásakor be kell vezetni egyboxid
értéket. A későbbiekben ezzel lehet hivatkozni rájuk. A mozgatást vezérlő linkekben nálam aclass
hivatkozik arra, hogy melyik képsor mozgatását kell megoldani.