开发者

document.body.scrollTop is always 0 in IE even when scrolling

I am displaying the value of document.body.scrollTop in the status bar while moving the mouse. The value is always 0 in IE. Why开发者_如何学运维 is always 0? Is there another way to get how much the scroll bar has moved?


You may want to try this for an older doctype in IE:

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;


this function provides a cross-browser implementation of reading the scroll offset:

function posTop() {
            return typeof window.pageYOffset != 'undefined' ? window.pageYOffset: document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop? document.body.scrollTop:0;
        }


Depending on the DOCTYPE, you would have to use document.body.scrollTop or document.documentElement.scrollTop. Have you tried the second one?

You can do something like this:

var scrollTop = document.documentElement ? document.documentElement.scrollTop :
                                           document.body.scrollTop;

I ran into these links while researching your problem:

  • Window size and scrolling (towards the bottom)
  • document.body.scrollTop in IE

This may help you out a little more.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜