ユーザーがボタンをクリックしたときに、要素の背景を現在の位置からアニメーション化しようとしています。最初のクリックでこれを行うことはできますが、その後のクリックは失敗します。
これが私のコードです...
var testme;
$(document).ready(function(){
$(".navleft").live("click", function() {
testme = parseInt($(this).css("background-position").replace("% 0%", "").replace("px 0%", ""));
$(this).parent().animate({backgroundPosition: (testme + 297) + "px"}, 500);
$(this).parent().find("p").text(testme);
});
});
編集:
$(".navleft").live("click", function() {
$(this).parent().animate({backgroundPosition: "+=297"}, 500);
});
以下に示すように、これは、クリックするたびに0にリセットされてから再度アニメーション化されるIEを使用している場合を除いて、うまく機能します。
これが私の言いたいことへのリンクです... http://jsfiddle.net/TdaSV/
解決策(正しい方向に押された結果):
$(".navleft").live("click", function() {
$(this).parent().animate({'background-position-x': '+=297'}, 500);
});