我想将元素的背景位置从左到右、从右到左(反之亦然)设置动画并不断重复。我做到了这一点,但以错误的方式。
- 代码很乱
元素的背景位置确实会在一段时间后停止动画。
window.setInterval(function(){ if($(element).css("background-position") == posRight + "px 50%"){ move("left"); } else if($(element).css("background-position") == posLeft + "px 50%"){ move("right"); } }, 500);
我很确定问题出在 setInterval 上,但我不知道可以改用什么。如果我不使用间隔,则不会检查 if 语句(或仅检查一次)。如果我减少间隔时间,它根本不起作用,因为 if 语句检查位置是否在 X,但位置从 X 开始,所以它什么也不做。
我在说什么? 小提琴:http: //jsfiddle.net/8eS3a/1/
我想要什么? setInterval 的解决方法。
您可以将渐变更改为背景图像以查看发生了什么。我使用了渐变,因为有时图像会被删除。