2010-06-13 84 views
1

我有下面的代碼,我嘗試在click事件上有一個div動畫,但由於某些原因,div會立即移動到該位置並且它不會動畫到指定的座標,我在這裏做錯了什麼?代碼:JQuery Div在單擊函數中沒有動畫效果

 
    $(document).ready(function() { 
    $('#example1').click(function(e){ 
     var x = e.pageX - this.offsetLeft; 
     var y = e.pageY - this.offsetTop; 
     $('#example1-xy').html("X: " + x + " Y: " + y); 
     var leftOfShip = x;            
     //var leftOfShip = document.getElementById("ship").style.left + 20; 
     $("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000); 
    }); 
    }); 

任何建議將是幫助!

回答

2

你錯了animate

將其更改爲

$("#ship").animate({ left: leftOfShip }, 5000); 
+0

好,先生,謝謝你的確是對的! – Doug 2010-06-13 23:38:08

+0

如果他是讓你修復它的人,那麼標記它是正確的 – fmsf 2010-06-13 23:46:21

+0

然後你應該通過點擊空心檢查來接受這個答案。 – SLaks 2010-06-13 23:58:58

0

我覺得動畫功能僅適用於「數量」參數。

以下:

$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000); 

應該是:

$("#ship").animate({left: "500px", 5000); 
0

的問題是你的生命的呼喚:

$("#ship").animate({left: $("#ship").css("left",leftOfShip)},5000); 

需求,成爲:

$("#ship").animate({left: leftOfShip}), 5000); 

你可以用一個非常簡單的模擬玩http://www.jsfiddle.net/7yNM4/的一些代碼。