ScrollTop的兼容问题

今天在练习一个项目的时候,发现效果不能同时在谷歌和火狐正常显示,原来是因为通过判断DTD是否声明而导致了浏览器不兼容。

一下是解决的几种方法。

方法一:

// 获取scrolltop

    function getScrollTop() {
        var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
        return scrollTop;
    }

// 设置scrolltop

    function setScrollTop(scroll_top) {
        document.documentElement.scrollTop = scroll_top;
        window.pageYOffset = scroll_top;
        document.body.scrollTop = scroll_top;
    }

方法二:

var scrollPos; 
if (typeof window.pageYOffset != 'undefined') 
{ 
   scrollPos = window.pageYOffset; 
} 
else if (typeof document.compatMode != 'undefined' &&    document.compatMode != 'BackCompat') 
{ 
   scrollPos = document.documentElement.scrollTop; 
} 
else if (typeof document.body != 'undefined') 
{ 
   scrollPos = document.body.scrollTop; 
}

方法三 运用jQuery解决:

$(selector).scrollTop(offset)

 

posted @ 2017-04-21 13:57  kumayato  阅读(696)  评论(0编辑  收藏  举报