jQuery(JS)怎么判断滚动条快到底部了就触发函数

jQuery(JS)怎么判断滚动条快到底部了就触发函数,第1张

先上原理图:

判断滚动条是否到临近页面底部,关键是求得上图中 的数值,明显看出这个值 = 文档总高度 - 已滚动部分的高度 - 当前视口高度,所以有如下代码:

var minAwayBtm = 100;  // 距离页面底部的最小距离

$(window)scroll(function() {

        var awayBtm = $(document)height() - $(window)scrollTop() - $(window)height();

    consolelog('当前距离页面底部:' + awayBtm + 'px');

    if (awayBtm <= minAwayBtm) {

        consolelog('触发了');

    }

});

我说说逻辑吧,如果写代码的话稍微繁琐点,我觉得这样是可以的:整个页面的高度是可以用js获取的,滚动条的当前高度也是可以用js获取的,那就意味着body的滚动条有没有到底部是完全可以通过js获取的,然后,div的滚动也是可以获取的,其实在页面上实现切换div不停的滚动就是焦点的问题,当你body的滚动到底之后,将焦点用js控制到div上,继续滚动,div的滚动就会实现了你不妨试试

思路:当滚动条到达底部时,调用js方法去加载数据

代码如下:

<div style="height:1600px;border:1px solid red">设高度模拟滚动</div>

//引入js

<script src=">

$(window)scroll(function() {

            // 当滚动到最底部以上100像素时, 加载新内容

            if ($(this)scrollTop() >= 80) {

                $("divnavbar")css("position","fixed");

            }else{

                $("divnavbar")css("position","relative");//也可能是absolute等,反正就是你原来的值

           }

           if ($(this)scrollTop() >= 150) {

                $("divlog")css("position","fixed");

            }else{

                $("divlog")css("position","relative");//也可能是absolute等,反正就是你原来的值

           }

        });

    //这个应该是可以的,原来的样式是什么样,改回什么样式就可以了,我只是写了一个例子

以上就是关于jQuery(JS)怎么判断滚动条快到底部了就触发函数全部的内容,包括:jQuery(JS)怎么判断滚动条快到底部了就触发函数、js怎么让body滚动条滚动到底或者到底了 鼠标再滚动时让另外一个DIV滚动、1。怎样用js实现先加载网页的一部分,等滚轮到一定位置再加载下面部分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9307849.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存