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

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

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

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

    通过 JS 判断页面是否滚动条的简单方法

    前言 最近在写插件的过程中,需要使用 JS 判断是否滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,代码不够简洁。最终通过参考不同方法,写了一个比较简单的方法。...在判断滚动条的同时也需要计算滚动条的宽度,通过本篇文章一并与大家分享。 为什么要判断滚动条 ?...判断滚动条的需求在弹窗插件中用的较多,因为弹窗大多会添加 overflow: hidden 的属性,如果页面比较长的话,添加这个属性之后页面会有晃动。...为了增强用户体验,通过判断是否滚动条而添加 margin-left 属性以抵消 overflow: hidden 之后的滚动条位置。...判断是否滚动条的方法 其实只需要一行 JS 就可以,测试兼容 IE7 function hasScrollbar() { return document.body.scrollHeight >

    8.3K90

    JavaScript 基于offsetHeight和clientHeight判断是否出现滚动条

    通常,元素的offsetHeight是一种元素CSS高度的衡量标准,包括元素的边框、内边距和元素的水平滚动条(如果存在且渲染的话),不包含:before或:after等伪类元素的高度。...该属性包括内边距,但不包括垂直滚动条(如果有)、边框和外边距。...参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientWidth 判断目标元素是否出现滚动条 targetElement...为目标html元素,以下代码用于判断该元素内是否出现滚动条 if (targetElement.offsetHeight > targetElement.clientHeight && targetElement.offsetWidth...) { console.log("出现垂直滚动条"); } if (obj.offsetHeight>obj.clientHeight) { console.log("出现水平滚动条"); }

    1.3K30

    js判断iframe加载是否成功的方法

    今天木槿来探讨一下js判断iframe加载是否成功的方法,并且兼容多种浏览器。...这时,我们就要考虑是否可以等iframe加载完后再执行后边的操作,当然,各种浏览器早就为我们考虑啦,看下面:ie浏览器IE的每个elem节点都会拥有一个onreadystatechange事件,这个事件每次在...添加一个 onreadystatechangeiframe.attachEvent("onreadystatechange", function(){//此事件在内容没有被载入时候也会被触发,所以我们要判断状态...//有时候会比较怪异 readyState状态会跳过 complete 所以我们loaded状态也要判断if(iframe.readyState === "complete" || iframe.readyState...(iframe.attachEvent){iframe.attachEvent("onreadystatechange", function() {//此事件在内容没有被载入时候也会被触发,所以我们要判断状态

    1.8K20
    领券