js 滚动监听,核心方法

这篇具有很好参考价值的文章主要介绍了js 滚动监听,核心方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue使用

export default {
data:{},
//挂在完成
mounted () { 
    window.addEventListener('scroll', function); 
  },
//销毁
destroyed () {
    window.removeEventListener("scroll", function, true);
  },
}

一、开始滚动监听

  window.addEventListener('scroll', function);

二、关闭滚动监听

window.removeEventListener("scroll", function, true);

三、滚动监听核心方法

3.1先开启监听

window.addEventListener('scroll', function(){
                handleScroll({
                    distance:10,//距离底部多少开始加载
                    IsDisabled:false,//是否停止
                    CallBackFun:function(res){
                        console.log('回调=============',res);
                    },//回调方法
                });
            });

3.2监听核心方法

//该方法是以浏览器窗口和body容器窗口的滚动条为依据计算执行的
handleScroll (obj) {
if(typeof(obj)!='object')
{
    obj={
            distance:10,//距离底部多少开始加载
            IsDisabled:false,//是否停止
            CallBackFun:null,//回调方法
        };
} 
//距离
if(typeof(obj.distance)!='number')
{
    obj.distance=10;
}
//停止
if(typeof(obj.IsDisabled)!='boolean')
{
    obj.IsDisabled=false;
}
//回调
if(typeof(obj.CallBackFun)!='function')
{
    obj.CallBackFun=null;
}  
// console.log('参数对象obj==',typeof(obj),obj);
// console.log('距离obj.distance==',typeof(obj.distance),obj.distance);
// console.log('停止obj.IsDisabled==',typeof(obj.IsDisabled),obj.IsDisabled);
// console.log('回调obj.CallBackFun==',typeof(obj.CallBackFun),obj.CallBackFun);

//变量scrollTop是滚动条滚动时,距离顶部的距离
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
//变量windowHeight是可视区的高度
var windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
//变量scrollHeight是滚动条的总高度
var scrollHeight = document.documentElement.scrollHeight || document.body.scrollHeight;
// 滚动条偏移量 
let offset = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; 
// console.warn('滚动条距离顶部的距离scrollTop==',scrollTop);
// console.log('窗口可视区的高度windowHeight==',windowHeight);
// console.log('滚动条的总高度scrollHeight==',scrollHeight);
// console.log('滚动条偏移量offset==',offset);

//计算底部距离 
var _dis=(scrollTop + windowHeight); 
//滚动条到底部的条件
if ( _dis==scrollHeight) {
    console.error('滚动高度+窗口高度='+scrollTop + windowHeight);
    if(typeof(obj.CallBackFun)=='function'&&obj.IsDisabled==false)
    {
        var resObj={
        scrollTop,
        windowHeight,
        scrollHeight,
        offset,
        _dis
        }
        return obj.CallBackFun(resObj);
    }
}
},

四、回调反参数说明

offset: 691 //滚动条偏移量 
scrollHeight: 1600 //变量scrollHeight是滚动条的总高度
scrollTop: 691 //变量scrollTop是滚动条滚动时,距离顶部的距离
windowHeight: 909 //变量windowHeight是可视区的高度
_dis: 1600 //底部距离 

五、截图测试图

js 监听滚动,JS,javascript,前端,html,js 滚动监听文章来源地址https://www.toymoban.com/news/detail-823220.html

到了这里,关于js 滚动监听,核心方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 〖大前端 - 基础入门三大核心之JS篇⑰〗- JavaScript的流程控制语句「while循环语句」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月04日
    浏览(94)
  • JS监听元素滚动

    使用监听 scroll 可以实现监听页面滚动或者元素滚动是否到底 案例代码 运行效果

    2024年02月11日
    浏览(25)
  • js监听滚动事件

    监听滚动事件可以使用 window 对象的 scroll 事件。具体代码如下: 当页面滚动时, scroll 事件就会被触发,然后就可以在事件处理函数中编写相应的逻辑来实现需要的功能,比如实现吸顶效果、懒加载图片等等。 在事件处理函数中,可以使用 document.documentElement.scrollTop 或 doc

    2024年02月16日
    浏览(45)
  • 〖大前端 - 基础入门三大核心之JS篇⑱〗- JavaScript的流程控制语句「break 和 continue语句」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月05日
    浏览(57)
  • 〖大前端 - 基础入门三大核心之JS篇⑯〗- JavaScript的流程控制语句「for循环语句及算法题」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月07日
    浏览(51)
  • 〖大前端 - 基础入门三大核心之JS篇㊲〗- DOM改变元素节点的css样式、HTML属性

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费 , 如需要项目实战或者是体系化资源,文末名片加V! 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。 荣誉: 2022年度博客之星Top4、2023年度超

    2024年02月04日
    浏览(65)
  • js判断手指的上滑,下滑,左滑,右滑,事件监听 和 判断鼠标滚轮向上滚动滑轮向下滚动

    const scrollFunc = (e) = { e = e || window.event; let wheelDelta = e.wheelDelta ? e.wheelDelta : -e.detail * 50; if (wheelDelta 0) { console.log(wheelDelta + ‘滑轮向上滚动’); let dom = document.querySelector(‘.header-contanier’); dom.style.display = ‘flex’; } if (wheelDelta 0) { console.log(wheelDelta + ‘滑轮向下滚动’); let dom =

    2024年02月12日
    浏览(70)
  • 〖大前端 - 基础入门三大核心之JS篇㊿〗- 面向对象之对象的方法、遍历、深浅克隆

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费 , 如需要项目实战或者是体系化资源,文末名片加V! 作者:哈哥撩编程,十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。 荣誉: 2022年度博客之星Top4、2023年度超级个体得主、谷

    2024年02月04日
    浏览(75)
  • JavaScript中的scrollTop(js中的scrollTop,滚动到顶部,javascript滚动到顶部)

    简述:scrollTop是JavaScript中一个非常有用且重要的方法,它用于获取或设置元素的垂直滚动条位置,实现各种滚动相关的功能,无论是回到顶部、滚动到指定位置还是监听滚动事件,都需要用到scrollTop,在本文中,我们将深入了解scrollTop的用法和实际应用,这是一张scrollTop的关

    2024年02月08日
    浏览(48)
  • HTML+JS+CSS歌词滚动效果

    这些代码主要实现了歌词的初始化、显示和随音频播放的同步滚动。其中, initWords 函数用于将歌词字符串解析成数据数组, parseTime 函数用于将时间字符串转换为秒数。通过 setOffset 函数实现歌词的滚动和高亮显示。最后,添加了一个滚动事件监听器,以便用户通过滚动调整

    2024年01月17日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包