2009-09-23 57 views
0
$('.rotateme').cycle({fx:'fade',speed:2500,timeout:3000,next:'#arrowright',prev:'#arrowleft',sync:1,pause:1}); 

海德斯,上面的代碼是我用於圖像滑塊,其中圖像在一個循環(這是顯而易見)淡出。jQuery循環淡入順序變化

無論如何,這是發生了什麼:

當它的循環通過li元素,以前的按鈕返回我剛剛淡出li元素,然後繼續在列表中向下。

我想什麼要發生的事情:

我想前面的按鈕,我返回到先前的元素和反向的方向,所以它不會去背下來的列表,而是會去了。

顯而易見的解決方案是爲#arrowright單獨綁定使用,使:

rev:   0,  // causes animations to transition in reverse 

此作品在一定程度上,在這裏失敗:如果我再次點擊#arrowright,它會再次扭轉方向(DOH)的含義#arrowright實際上是一個切換按鈕,我不需要那個...

有什麼建議嗎?

回答

1

//此代碼段將向「#arrowRight」添加一個「selected」類,並從「#arrowLeft」中刪除一個「selected」類。然後,在運行.cycle()時,它會看到「#arrowRight」是否具有「selected」類,如果是,則.cycle()將在沒有rev:0變量的情況下運行。否則,它會正常反轉。當用戶點擊「#leftArrow」時,「selected」類將被刪除。

if($("#arrowRight").hasClass("selected")) { 

$('.rotateme').cycle({ 
    fx:'fade', 

    speed:2500, 
    timeout:3000, 
    next:'#arrowright', 
    prev:'#arrowleft', 
    sync:1,pause:1 

}); 
} 


else{ 
$('.rotateme').cycle({ 
    fx:'fade', 

    speed:2500, 
    timeout:3000, 
    next:'#arrowright', 
    prev:'#arrowleft', 
    sync:1,pause:1 
    rev: 0 
}); 
} 


$("#arrowRight").click({ 
    $(this).addClass({"selected"}); 
    $("#arrowLeft").removeClass({"selected"}); 
}); 


$("#arrowLeft").click({ 
    $(this).addClass({"selected"}); 
    $("#arrowRight").removeClass({"selected"}); 
}); 
+0

工作就像一個魅力,非常感謝。 – Kirill 2009-09-28 09:57:34