我正在创建一个改变背景图像值的动画。如果我在坐标中硬编码,它是完美的工作,但我试图修改它,以便它将该位置平均增加20px。如何使用jQuery增加CSS Y位置坐标?
下面是我使用的检索原始Y位置的代码 - 完美的作品:
$('.rss,.twitter,.jquery').each(function(){
// Returns "##px" and "##px"
var backgroundPositions = $(this).css('background-position').split(" ");
// Retrieve the original Y position
$(this).data("originalYpos", backgroundPositions[1].slice(0, -2));
});
现在我想通过20px的递增originalYpos的价值,但是这不工作:
var animateNum = function() {
$('.rss,.twitter,.jquery').animate({
var YPos = $(this).data('originalYpos')+20;
backgroundPosition: 0 + "px " + YPos + "px"}, 400, "easeOutCirc");
};
我确实相信这是因为在.animate()内部不允许声明var Ypos,但我需要引用$(this),这意味着3个单独选择器中的每一个的值都是动画。
任何建议,非常感谢!
您好,感谢您的答复。不幸的是,我确实有过这种方式,它不起作用 - 它在Firebug中返回这个错误:“丢失:属性ID后”。我的解释是,声明不允许在.animate()内(它期望一个属性)。 – 2011-05-05 14:33:33
@Al,你说得对。我正在编辑答案 – 2011-05-05 16:22:13
感谢百万埃德加 - 这就是诀窍! – 2011-05-05 18:58:31