NIm創建一個在滾動時遞增移動div的動畫。我很接近,但我不認爲我的代碼是最有效的,我不知道如何適應它來添加更多的參數。因此,例如,在頁面上打一定高度,然後將對象向右移動並停止向下移動。下面是我的JS和codepen可以找到;Javascript DIV在滾動上移動
http://codepen.io/anon/pen/KxHwu - 原始
http://codepen.io/anon/pen/DLxqg - 右移動搞亂
var lastScrollTop = 0;
var boxPosition = $('#box').position();
var row2Position = $('#row2').position();
var distance = $('#row2').offset().top,
$window = $(window);
console.log(distance);
$window.scroll(function() {
if ($window.scrollTop() >= distance - 400) {
var st = $(window).scrollTop();
console.log(st);
$('#box').css({top: 0 + st});
//CODE NOT WORKING
if(st >= 270) {
var boxPos = $('#box').position();
console.log(boxPos.left);
$('#box').css({left: boxPos.left + st});
}
//
lastScrollTop = st;
}
});
我正在尋找的框開始滾動喜歡它的話,那麼當它擊中第2行滾動的一半。
我希望我已經用簡單的方式解釋了這個!
感謝
感謝您的回覆傑森,這是完美的。我將如何添加另一個參數來說明當它滾動到目前爲止離開然後開始向下滾動?添加一個額外的,如果?我假設我需要重新設置scrolltop以及檢測盒子走多遠? – DIM3NSION 2014-09-10 15:03:24
是的,添加另一個'else if'。 – Jason 2014-09-10 15:04:17
如果性能實際上是一個問題,**純粹** Javascript是要走的路。僅使用jQuery來放置事件處理程序和完全使用純舊的Javascript完成處理。 – 2014-09-10 15:10:43