2012-03-01 33 views
1

做一些jQuery的動畫有由午餐完成高調客戶jQuery的旋轉,上了mouseenter運行,停止鼠標移開時

基本上我試圖做的是在一個360度的圓動畫對象徘徊時重複,並在鼠標離開時將動畫返回到起始點。

我使用jQuery插件旋轉http://code.google.com/p/jqueryrotate/wiki/Examples

我知道了動畫鼠標懸停,卻不能,不管我怎麼努力,得到它停止動畫鼠標了 - 我目前正在調試間歇,並嘗試合作 - 這是我目前的代碼,我錯過了什麼?!?!

function rotation(){ 

    jQuery("#merm").rotate({angle:0, animateTo: 360, callback: rotation }); 
    } 

    jQuery("#sirens").hover(
     function(){ 
     hoverInterval = setInterval(rotation, 1000); 
     }, 
     function(){ 
      clearInterval(hoverInterval); 
     } 
    ); 

在此先感謝

+0

你可以在jsfiddle上彈出你的代碼,然後我會看看。 – Alex 2012-03-01 11:04:53

回答

4
$(function(){ 
    var t; 
    $("#sirens").mouseenter(function(){ 
     var angle = 0; 
     t = setInterval(function(){ 
      angle+=3; 
      $("#sirens").rotate(angle); 
     },50); 
    }).mouseleave(function(){ 
     clearInterval(t); 
     $("#sirens").rotate(0); 
    }); 
}); 

看到它在這裏工作:http://jsfiddle.net/t4MHp/1/

+0

真棒,我應該提到我需要它返回到mouseout的開始,這就是爲什麼我使用這個特定的例子---- var rotation = function(){(「#img」)。rotate({ angle:0, animateTo:360, callback:rotation }); } rotation(); – Callam 2012-03-01 11:13:12

+0

更新爲在鼠標離開時返回0。 – 2012-03-01 11:16:52

+0

絕對的英雄,歡呼的夥計 – Callam 2012-03-01 11:26:58

1

只是一個短期的信息 - 的jQueryRotate 2.2新版本今日發佈通過調用.stopRotate()支持回採動畫: )希望它在未來有所幫助

+0

上帝該死的哈哈! – Callam 2012-03-16 11:05:37

相關問題