我编写了一个 scrollSpy 函数来检测用户在网页上上下滚动时的事件。
<script type="text/javascript">
function yPos() {
var pos = 0;
if( typeof( window.pageYOffset ) == 'number' ){
//Netscape compliant
pos = window.pageYOffset;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
//DOM compliant
pos = document.body.scrollTop;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
//IE6 standards compliant mode
pos = document.documentElement.scrollTop;
}
return pos;
}
window.onscroll = function(){
var scrollPos = yPos(), goTopElem = document.getElementById('scroll'), docBody = document.getElementsByTagName('body')[0];
if(goTopElem && scrollPos < 500 ) // user has scrolled up
goTopElem.parentNode.removeChild(goTopElem); // remove go to top link
else if(scrollPos > 500 && !goTopElem){
var newDiv = document.createElement('DIV'), newLink = document.createElement('A'), txt = document.createTextNode('[back to top]');
newLink.setAttribute('href','javascript:scroll(0,0);');
newLink.appendChild(txt);
newDiv.setAttribute('id','scroll');
newDiv.appendChild(newLink);
docBody.appendChild(newDiv);
}
}
</script>
<style type="text/css">
#scroll {
position:fixed;
right: 0px;
bottom: 0px;
display: block;
}
</style>
问题出在 Internet Explorer 上,当向下滚动时,链接应该出现在窗口的右下角 - 但这种情况并没有发生。 请帮忙。
最佳答案
如果您使用的是 IE6 或更旧的 IE7,则不支持 position: fixed
。如果不是,请更新问题,并提供有关您所谈论的 IE 版本的更多细节。
关于javascript - I.E 滚动时的 css 位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3422978/