前端小白课程项目实战中关于scollTop的问题

/*ui-backtop*/

$.fn.UiBackTop = function(){

    var ui = $(this);

    var el = $('<a class="ui-backtop" href="#0"></a>');

    var windowHeight = $(window).height();

    ui.append(el);

    $(window).on('scroll', function() {

        var top = $(window).scrollTop();

        if (top > windowHeight) {

            el.show();

        } else {

            el.hide();

        }

    });

    el.on('click', function() {

        $(window).scrollTop(0);

    });

};

这段代码是前端小白课程里面最后的项目实战中,做的返回顶部,在原视频中老师用的是var top = $('body').scrollTop();获取被卷去网页的高度,就是滚动条下拉的高度,我用了之后不知道是谷歌浏览器不兼容还是什么原因,top值一直是0,即便给body设置了高度后top值还是0,我把body换成window后一切都变得正常了,这是什么原因,为什么获取不到body被卷去的高度

阳光多灿烂l
浏览 792回答 3
3回答

xing_org1

有时候拿到的应该是html的高度,所以获取高度一般都做一个判断写法var oH = document.body.scrollTop || document.documentElement.scrollTop
打开App,查看更多内容
随时随地看视频慕课网APP