我正在嘗試獨立動畫幾個元素。作爲開始,我嘗試了一個這樣的元素,其類別&我已經定義爲「明星」。當元素從原始位置移動800 px時,我希望它停止。我已經正確地做到了。但問題正在使它回到原來的位置。一旦元素在屏幕上可見,我希望它開始返回。目前它停在800px。如果我繼續滾動到更遠的地方,它會保持在800像素。但是當我開始向左滾動時,它立即開始向左移動。所以我看不到預期的效果。並且請告訴我是否有更好的方法來做同樣的事情。因爲我做的方式,恐怕會變得非常複雜,當我嘗試動畫更多的元素jQuery動畫單個元素
$(function() {
var lastmove = 0;
$("body").mousewheel(function(event, delta) {
this.scrollLeft -= (delta * 30);
var move = 0;
var move1 = 0;
if (lastmove == 0 && delta == 1) {
//do nothing
}
else {
move = (lastmove * delta * -1) + 30;
}
if ((lastmove-move) > 30) { move = move * -1; }
if (move > 800) {
move = 800;
}
var position = $("#star").position();
if (position.left < 0) { move = 0; }
if (position.left > 800) { move = 800; }
lastmove = move;
$(".star").stop().animate({left: move}, "slow");
event.preventDefault();
});
});
請在此提供示例代碼。首先,其他人不得不前往您的網站並查看來源,其次,所提供的鏈接可能會在某個時間更改,這使得此問題在未來對其他用戶無用。在jsfiddle.net中的演示非常有用 – charlietfl
注意!並做出相應更改 –