我正在創建一個改變背景圖像值的動畫。如果我在座標中硬編碼,它是完美的工作,但我試圖修改它,以便它將該位置平均增加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