web-dev-qa-db-ja.com

jQueryを使用したmarginLeftのアニメーション化

JQueryでmarginLeftをアニメーション化することはできません。ユーザーがリンクをクリックするたびに938pxを差し引く必要があります。これは.css()を使用していたときに正常に機能していましたが、.animate()で機能させる方法がわかりません。

$("#full-wrapper #full").animate({
    marginLeft, -=938px
}, 500);

なぜこれが機能しないのか誰でも理解できますか?これは私のCSSバージョンでした:

$("#full-wrapper #full").css("marginLeft","-=938px");

アニメーションにCSS3を使用していましたが、古いブラウザーで動作させる必要があります。

22
JacobTheDev

コードに構文エラーがあります。オブジェクトのパラメーターをanimate()に渡すと、:ではなく,を使用して各属性を区切る必要があります。これを試して:

$("#full-wrapper #full").animate({
    marginLeft: '-=938px'
}, 500);

fiddle の例

47
Rory McCrossan

カンマ(、)をコロン(:)に置き換えます。

$("#full-wrapper #full").animate({
    marginLeft: "-=938px"
}, 500);
2
ShankarSangoli
$("#full-wrapper #full").animate({
    marginLeft: '-=938px'
}, 500);
1
Rafay