2011-03-17 135 views
2

我工作的一個音頻多媒體播放器基於jplayer插件(轉盤),和我使用一個div的旋轉特性:如何停止jQuery旋轉動畫?

setInterval( 
    function() { 
     $('#plateau').animate({ 
      rotate: '+=4deg' 
     }, 0); 
    }, 
    3); 

首先,我想,當用戶停止了轉動點擊另一個div。

其次,我想停止旋轉最大程度的限制。

非常感謝。

+2

不要擔心'糟糕的英語',你的問題是清晰的,寫得很好,即使你是英語母語的人也會這樣。但是,我確實修改了您的問題標題,以反映問題*和*以消除「吶喊」。 – 2011-03-17 20:14:47

+0

使用此鏈接 http://stackoverflow.com/questions/2803820/how-do-i-build-a-specialized-jquery-timer/7291411#7291411 – Prasanth 2011-09-03 05:53:40

回答

1

給超時一個var!

var timer = setTimeout(function(){ ... }, 0); 

,當你需要停止它:

clearTimeout(timer); 
+0

非常感謝您 – 2011-03-18 13:01:56

+0

你是最歡迎。如果有幫助,您可以評價我的答案,因爲它有用:) – 2011-03-18 16:03:43

5

很好的一件事設定的setInterval等於VAR:

var timer = setInterval(...) 

比你可以阻止它

clearInterval(timer) 

然後停止動畫做:

$('#plateau').stop(); 
+0

非常感謝, – 2011-03-17 21:12:37

+0

沒有概率鮑勃:-)一個10億億美元的支票將是很好的:-D – Neal 2011-03-17 21:24:02

+0

或'正確答案'檢查! ;) – 2011-03-24 20:57:45

0

setInterval正在返回一個值。儲存,然後調用clearInterval這個變量作爲參數

toto = setInterval(function(){…}) 
… 
clearInterval(toto) 

clearInterval將停止功能的正常執行

0

如果有可能,我尋找誰返回程度的實際位置的功能DIV,對於可以同步手臂的運動與像一個真正的轉盤播放器的實際播放位置:再次

function rotation_bras(bras_rotation) 
{ 
    /*var temps_actuel = $.jPlayer.convertTime(tt);*/ // Send the total time of the track 
    // Begin position in degree 17deg 
    // Maximum position in degree 40 deg 
    // When a track is finish, the arm's turntable comeback at the initial position 
    // The degree decalage should be depend to the total time of the track 
    if(bras_rotation==true) 
    { 
     BrasTourne = setInterval(function(){$('#bras').animate({rotate: '+=0.1deg'}, 0);}); 
    } 
    else { 
     clearInterval(BrasTourne); 
     $('#bras').stop(); 
    } 
} 

感謝

+0

這是一個答案?還是繼續你自己的問題? – Neal 2011-03-24 21:02:12