2010-04-30 50 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