2014-07-07 16 views
0

我想實現這個代碼:my animation link在旋轉庫更改事件

的問題是,我想動畫的圖片,當我點擊一個按鈕,所以這裏是我的HTML:

<form> 
<input type="submit" value="change" onclick="go(30);"/> 
</form> 

,這是腳本:

function go(deg){ 
var value = 0 
$("#image").rotate({ 
bind: 
     { 
    click: function(){ 
     value +=deg; 
     $(this).rotate({ animateTo:value}) 
     } 
    } 

    }); 
} 

此代碼不能正常工作,而且似乎因爲走()函數內的點擊事件。 有沒有人有解決方案? THX

回答

1

試試這個,

function go(value){ 
    $("#image").rotate({ // don't bind events here 
     animateTo: value 
    }); 
    return false;// to prevent submition of form 
} 

Demo沒有click事件。

引擎收錄代碼更新,

function go(){ 
    var val=0; 
    var refreshId = setInterval(function(){ 
     val+=20; 
     $("#image").rotate({ // don't bind events here 
      animateTo: val 
     });   
    },2000); 
    return false;// to prevent submition of form 
}; 

Working Demo

+0

難道不該'animateTo:value'不是'90'? – Liam

+0

index.html(42):SyntaxError:Unexpected token'+ =' – user1444393

+0

試試我更新的答案一次 –

-1
<form> 
<input id="btn_rotate" type="submit" value="change" data-rotate="30"/> 
</form> 


    // do not add or change anything in here, it should work alone 
    $(document).ready(function() { 
    var value = 0 
    $("#btn_rotate").click(function (e) { 
     e.preventDefault(); 
     value += $(this).attr("data-rotate"); 
     $("#image").rotate({ animateTo:value}); 
    }); 
    }); 
+0

如果是數據,您應該使用[data](http://api.jquery.com/jquery.data/)而不是attr來讀取它。 – Liam

+0

@Liam attr函數也可以正常工作 – iamawebgeek

+1

請稍微解釋一下你的代碼,也許可以添加指向相應文檔頁面的鏈接。順便說一句,我同意@Liam。即使'attr'運行良好,您也不能確定期貨jQuery版本中會出現這種情況。對於他們應該做的事情來說,使用方法總是一個很好的實踐。 – OlivierH

0

在這裏,你可以簡單地對事件點擊分配旋轉。

代碼示例從你的鏈接:

var value = 0; 
$("#image").on('click', function() { 
    value += 90; 
    $(this).rotate({ animateTo: value }) 
});