首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JS判断滚动条是否停止滚动

背景:昨天一个同事有种需求,有一个展示数据区域的div,带滚动条,当滚动滚动时,需要向后台发请求,计算数据,再拿到前台展示。        ...分析:由于数据量级别较大,所以当滚动滚动时,如果时时向后台发请求,对服务器和浏览器都造成巨大的压力。想到的解决方案是,当滚动停止时,再去发请求计算数据。...那么问题来了,如何判断滚动条是否停止了呢?        解决:搜索了一下,js本身是无法判断滚动条是在滚动状态还是停止状态,只有通过其它方式了。...后来想到的思路是当滚动滚动的时候,发起一个定期执行的方法,并记录一次当前滚动条到顶部的距离,这个方法中判断此时滚动条到顶部的距离是否和上次记录的相等,如果相等,那么说明停止滚动了,不相等,还在滚动。...-- // 让浏览器出现滚动条 for(var i = 0; i < 100; i++) { document.write(""); } var topValue = 0,//

17.4K00

【微信小程序】---- 监听页面停止滚动

场景需求 页面页脚部分有一面积高300px的浮窗,遮挡页面很严重,但是浮窗的内容又很重要;业务需求,当页面滚动的时候,浮窗隐藏,页面停止滚动的时候浮窗显示! 2....需求分析 监听页面滚动停止动作,没有这类监听的函数,但是我们可以监听页面滚动 onPageScroll; 显示和隐藏浮窗,这一步很好操作,直接一 Boolean 变量 false or true,就能解决...解决思路 如何在页面滚动监听的函数中知道页面停止滚动? 1.1 方法一:对比前后两次的滚动变量 scrollTop; 1.2 延迟执行显示方法 setTimeout; 4....方法实践 由于对比 scrollTop 的值前后是否相同,依然需要知道滚动已经停止,所以经过实验发现多余,直接放弃; 在页面滚动的时候,获取控制显示和隐藏的变量 show; 判断 show 是否为 true...,体验效果不好,经我测试200ms是体验相对好的节点;【时间可以更具自己需求设置】 倒计时执行完成,说明滚动停止,执行显示操作,注意同时清除倒计时。

2.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Flutter 滚动监听及实战appBar滚动渐变的实现

    介绍 在 Flutter 中滚动监听一般可以采用两种方式来实现,分别是ScrollController和NotificationListener这两种方式。...滚动通知 Flutter 中很多地方使用了通知,如可滚动组件(Scrollable Widget)滑动时就会分发滚动通知(ScrollNotification),而Scrollbar正是通过监听ScrollNotification...: print("正在滚动"); break; case ScrollEndNotification: print("滚动停止"); break; case OverscrollNotification...两者区别 首先这两种方式都可以实现对滚动监听,但是他们还是有一些区别: ScrollController可以控制滚动控件的滚动,而NotificationListener是不可以的。...通过NotificationListener可以在从可滚动组件到widget树根之间任意位置都能监听,而ScrollController只能和具体的可滚动组件关联后才可以。

    2.8K20

    vue里监听页面滚动的问题

    window.screen.width; 屏幕可用工作区高度: window.screen.availHeight; 屏幕可用工作区宽度:window.screen.availWidth; scrollHeight: 获取对象的滚动高度...scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...event.clientY 相对文档的垂直座标 event.offsetX 相对容器的水平坐标 event.offsetY 相对容器的垂直坐标 document.documentElement.scrollTop 垂直方向滚动的值...event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量 要获取当前页面的滚动条纵坐标位置,用: document.documentElement.scrollTop

    3.4K40

    JS监听中文输入

    在做第六个项目(根据输入框实时调用AJAX古诗匹配)时,当我们输入中文拼音,还在拼音字符状态未选择成中文时,一直在执行我编写的事件监听处理函数(当输入框里的值有变化时执行此函数, 调用AJAX在页面显示数据里包含这些字的古诗...而我想要的是在我们输入拼音未完成中文选择时,不让其执行我们的监听处理函数, 只有选择完中文后才去执行调用AJAX判断有没有包含输入的这些字的古诗。...="this_input" placeholder="中文输入未完成时不执行事件" /> <script src="http://code.jquery.com/jquery-1.8.3.min.<em>js</em>...false); console.log('完成中文输入'); }); 当我们开始进行input的输入改变了input框里的值时,<em>js</em>...会<em>监听</em>到input propertychange事件, 执行判断(一开始时$(this).prop('cnStart')的值我们没有定义,为undefined, 在<em>监听</em>了compositionstart

    9.5K20
    领券