2010-08-08 26 views
0
count = 0; 
total = 2; 
jQuery("#slide").everyTime(5000,function(i){ 
    if(count == total-1) { 
     count = 0; 
     jQuery(this).stop().animate({backgroundPosition: "0px 0"}, {duration:1000}); 
    } 
    else{ 
     jQuery(this).stop().animate({backgroundPosition: "-"+950*count+"px 0"}, {duration:1000}); 
     count++; 
    } 
}); 

大家好,我正在努力解决这个问题。 “950 *计数”存在一些问题。当我把一个操作符放到这里时,它不会工作,但是如果我删除了* count,它就可以正常工作。jQuery动画中连续字符串的问题

有人能指出问题是什么吗?

谢谢你周围的计算

回答

1

认沽括号:

"-" + (950 * count) + "px 0" 

否则由左到右,先串联"-""950"的表达式,然后试图乘上。

+0

这就是我刚刚做的,它不会工作。 – DucDigital 2010-08-08 16:54:08

+0

@DucDigital - 你确定你的计数正确吗?在第一个动画之后,'count'为0开头为增加*,因为在那个点上它仍然是0,所以它什么都不做。 – 2010-08-08 16:57:54

+0

@DucDigital:你能指定“不能工作”吗?怎么了?你有任何错误信息? – Guffa 2010-08-08 16:57:56

1

因为没有-0这样的数字。

0

您是否尝试将"-"+950*count更改为"-"+parseInt(950*count)

+0

解析一个数字并没有什么意义。这只会把它变成一个字符串,然后回到一个数字。 – Guffa 2010-08-08 17:33:33