2010-04-30 52 views
0

我正在使用jQuery的動畫使用以下代碼。當我點擊列表元素時,相應的div滑落,不透明度變爲'1'。當我點擊其他列表元素時,前一個上升和消失,並且下一個下降。firefox中的jquery動畫

var id_prev; 
var id_new; 
$("#tag ul li ").click(function(event){ 
    var i = $(this).index()+1; 
    var id_new="#person"+i; 
    if(id_new != id_prev){ 
     $(id_prev).animate({top:'300px',opacity:'0'},500); 
     $(id_prev).delay(200).css({'z-index':'0'}); 
     $(id_new).delay(200).css({'z-index':'300'}); 
     $(id_new).delay(200).animate({top:'300px',opacity:'0'},500); 
     $(id_new).delay(200).animate({top:'330px',opacity:'1'},500); 
     id_prev = id_new; 
    } 

}); 
+0

@Ravindra Soni:幹得好!現在請刪除你的問題。 – Sarfraz 2010-04-30 06:46:04

+0

http://stackoverflow.com/questions/2742625/jquery-animation – Sarfraz 2010-04-30 06:46:32

+0

可能的重複他顯然希望它回答... – Tim 2010-04-30 06:47:38

回答

0

這可能不會如你所願地工作,因爲如果他們點擊最後一個呢?

但首先,你不告訴這些是什麼:

var id_prev; 
var id_new; 

你告訴他們是變量,而不是所包含的內容。你需要像這樣在頂部:

if ($(this).index() > 0) {  
    var id_prev = $(this).index()-1; 
} 

所以,如果股利是不是第一個,將以前的ID到一個選擇,再減去1 ...

但我真的建議你只需從兩個開始,並且完全編碼它們 - 而不是使用遞增值和變量 - 然後在可能的情況下采用該代碼並將其濃縮。

+0

thanx爲sugeestion :),我實際上忘了把我原來的問題...對不起問題是,在Firefox的動畫不平滑,有沒有關於Firefox的任何兼容性問題,jQuery的動畫? – 2010-05-01 06:22:26