2016-09-26 4 views
0

動作しません:(アニメーションJS/jQueryの機能は、私はアニメーションのdivの位置を変更し、そのが動作していない機能をやってみたかった

$(document).ready(function() { 
function moveAnimate(x, y, element) { 
    var leftX = document.getElementById.style.left; 
    var topY = document.getElementById.style.top; 
     leftX += x 
     topY += y 
      $('"#"+element').animate(
      { 
       "top": "topY", 
       "left": "leftX", 
      }, 
      1000); 

}; 
}); 

私は関数と呼ば:

<div id="divv" onclick="moveAnimate(300, 400, divv)"></div> 
+0

はここに十分ではありません「働いていません」。投稿エラーメッセージ、あなたが何をしたいか、助けが必要なもの... – sjngm

+2

'' leftX "の代わりに' leftX'を意味しますか? –

+0

ええ、私の悪いが、まだ動作しません –

答えて

0

はあなたのコードをチェックしてください好きなはずです

var leftX = document.getElementById(element).style.left; 
var topY = document.getElementById(element).style.top; 

と機能をアニメーション:。それがなければならないので、JSの構文は再びのdocument.getElementByIdメソッドですこの:

$('#'+element).animate({ 
    //your code here 
}) 
0

あなたmoveAnimate$(document).ready(function() {})範囲内で定義されています。
ただし、グローバルコンテキストから呼び出そうとします。

onclick属性で利用できるようにするには、あなたの関数を$(document).readyの外に定義する必要があります。
はるかに良い、ハンドラをアタッチするjQuery.on('click')を使用します。私はまた、あなたのmoveAnimate機能にいくつかの構文と論理エラーを修正した

function moveAnimate(x, y, element) { 
    var leftX = document.getElementById.style.left; 
    var topY = document.getElementById.style.top; 

    leftX += x; 
    topY += y; 

    $(element).animate({ 
     "top": topY, 
     "left": leftX, 
    }, 1000);  
}; 

$(document).ready(function() { 
    $("#divv").on("click", function() { 
     moveAnimate(300, 400, this); 
    }); 
}); 

注意を。

+0

私は何が間違っているのかわかりません、あなたのコードをコピー&ペーストして動作しません... –

+0

https://jsfiddle.net/9zsh4x9t/見て、私は知らない:( –

0

あなたのコードが間違っている、私はいくつかの変更を加えました:

function moveAnimate(x, y, element) { 
    var leftX = document.getElementById(element).style.left; 
    var topY = document.getElementById(element).style.top; 
    leftX += x; 
    topY += y; 
    $('#'+element).animate(
    { 
     "top": leftX, 
     "left": topY, 
    }, 
    1000); 

}; 

あなたはドキュメントを読んでください...

関連する問題