我需要在用户滚动页面时移动一个div,但需要使用纯JavaScript实现。
position: fixed;
会影响布局,而div的原始位置是相对于其他元素的。是否有一种简单的实现方式,利用像onscroll
这样的事件来检测页面向上或向下滚动了多少像素,并根据需要更改div的位置?
该div只需要在垂直方向上移动。因此,如果我可以检测页面已滚动的像素数,我只需将其加减到div的位置即可。
我需要在用户滚动页面时移动一个div,但需要使用纯JavaScript实现。
position: fixed;
会影响布局,而div的原始位置是相对于其他元素的。是否有一种简单的实现方式,利用像onscroll
这样的事件来检测页面向上或向下滚动了多少像素,并根据需要更改div的位置?
该div只需要在垂直方向上移动。因此,如果我可以检测页面已滚动的像素数,我只需将其加减到div的位置即可。
window.onscroll = function (e) {
var vertical_position = 0;
if (pageYOffset)//usual
vertical_position = pageYOffset;
else if (document.documentElement.clientHeight)//ie
vertical_position = document.documentElement.scrollTop;
else if (document.body)//ie quirks
vertical_position = document.body.scrollTop;
var your_div = document.getElementById('some_div');
your_div.style.top = (vertical_position + 200) + 'px';//200 is arbitrary.. just to show you could now position it how you want
}