【发布时间】:2011-07-11 12:31:02
【问题描述】:
当用户单击按钮时,我正在尝试从元素的当前位置为元素的背景设置动画。我可以在第一次点击时执行此操作,但随后的点击失败。
这是我的代码...
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);
});
如下所示,除非您使用的是 IE,否则它会在每次点击时重置为 0,然后再次动画。
这是我的意思的链接...http://jsfiddle.net/TdaSV/
解决方案(由于被推向正确的方向):
$(".navleft").live("click", function() {
$(this).parent().animate({'background-position-x': '+=297'}, 500);
});
【问题讨论】:
标签: javascript jquery jquery-animate background-position