老师,我的问题是关于获取屏幕高度的问题。

老师,我的问题是关于获取屏幕高度的问题。

function addEvent(){
        window.addEventListener('scroll',function(){
            var clientHeight = document.documentElement.clientHeight;
            var scrollHeight = document.body.scrollHeight;
            var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;

            var proDis = 30;
            if ((scrollTop + clientHeight) >= (scrollHeight-proDis)) {
                

                // 最多滚动加载3页
                if (page < 3) {

                    // 在发送ajax请求时避免触发多次滚动加载
                    if (isLoading) {
                        return;
                    }
                    getList();
                }else {
                    $('.loading').text('加载完成');
                }

                
            }
        });
    }

老师,我的问题如下:1,document.body.scrollHeight,和 document.body.scrollTop获取的不一样吗?那分别获取的是什么呢?

同理,document.documentElement.clientHeight和document.documentElement.scrollTop,如果它们获取的值也不一样,那分别获取的是什么呢?

3,老师,proDis = 30关于这个阈值视频中老师说的是不要在临界点的时候开始算,那这个阈值时根据经验获取还是自己随便设的呢?在这里,这个值为什么是30呢?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,

1、不一样的。

document.body.scrollHeight是内容高度。

document.body.scrollTop是滚动的距离。

2、document.documentElement.clientHeight是可视高度。

由于scrollTop的获取存在兼容性问题,所以为了解决各种兼容性, 推荐同学使用兼容性的语法获取scrollTop的高度

http://img1.sycdn.imooc.com//climg/5d8866ad09fa6ac909720057.jpg

3、proDis这个值是可以自己设置的,老师这里设置的是30.

如果帮助到了你,欢迎采纳~祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师