2010-08-08 82 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