首页
学习
活动
专区
工具
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
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    nicegui布局细节补充——容器高度滚动条

    前面的章节我们已经学会了 nicegui 中常用各种布局方式:flex 和 grid 布局。这节我们将详细讲解容器高度以及滚动条问题。...实战: 只有左下和右边的卡片中列表内容部分,才会出现滚动条 整个布局刚好铺满整个窗口,就算动态修改浏览器窗口大小也是如此 本节使用 nicegui 版本为 1.4.20 高度溢出处理 创建一个容器,...如果我们追加更多内容,最终内容超过了浏览器窗口高度,此时窗口就会出现滚动条。 很合理吧,总不能说内容超出了可视范围,直接把多余内容干掉吧。...除了设置固定高度值,我们也可以设置一个最大高度: 前面加个 max- 前缀就可以 现在我们总结一个要点, 要让一个容器在内容溢出高度时,出现滚动条,必须具备以下条件: 容器本身高度要被限制,可以是固定高度值...我们很少会说,页面上某个卡片高度具体是多少。最多我们可能会设置一个最小高度之类(其实也不多见) 更多情况是,我们希望整体布局刚好铺满整个屏幕,然后里面的某个区域,内容溢出时,出现滚动条

    1.3K10

    js获取各种高度总结

    在写js时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。抽空整理了我自己常用到,时间仓促,没有考虑到万恶IE浏览器。。。。...获取屏幕高度和宽度(屏幕分辨率): window.screen.height window.screen.width 获取屏幕工作区域高度和宽度(去掉状态栏): window.screen.availHeight...window.screen.availWidth 网页全文高度和宽度: document.body.scrollHeight document.body.scrollWidth 滚动条卷上去高度和向右卷宽度...: document.body.scrollTop document.body.scrollLeft 网页可见区域高度和宽度(不加边线): document.body.clientHeight document.body.clientWidth...网页可见区域高度和宽度(加边线): document.body.offsetHeight document.body.offsetWidth

    12.6K20

    Js处理滚动条和日期框

    有2种方式 1.通过Js处理滚动条 如果将元素拖动到可见区域之后,再去操作它,也就是处理这个滚动条。...滚动条不是html页面的元素,它是浏览器元素。想获取浏览器元素,就不能走常规套路啦,要通过javascript来执行。 不是所有的元素都一定要拖动到可见区域才能操作。...例如底部页面跳转:有的系统,虽然进来是这个地方,想操作页面底部元素,可以操作,也不需要拖动滚动条,它会自动将它拖动到可见区域,然后去操作它。...7)方法.scrolllntoView()和方法.scrolllntoView(false)区别: 用电脑打开一个页面,在整个浏览器网页内容可视区当中,有宽和高。 ? 这个是浏览器可视区高度。...一般来说,会用顶部,默认不传参,情非得已情况下才会传参。 10)如何判定这个页面需要不需要这种滚动操作呢? 如果你被测系统某一个页面当中,因为太长了出现了滚动条,怎么做呢?

    10.9K10

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

    通常,元素offsetHeight是一种元素CSS高度衡量标准,包括元素边框、内边距和元素水平滚动条(如果存在且渲染的话),不包含:before或:after等伪类元素高度。...对于文档body对象,它包括代替元素CSS高度线性总含量高。浮动元素向下延伸内容高度是被忽略。...0,否则,它是元素内部高度(单位像素),包含内边距,但不包括水平滚动条、边框和外边距。...参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Element/clientWidth 判断目标元素是否出现滚动条 targetElement...为目标html元素,以下代码用于判断该元素内是否出现滚动条 if (targetElement.offsetHeight > targetElement.clientHeight && targetElement.offsetWidth

    1.3K30

    JS - 可自动伸缩高度文本框

    textarea如果设定了宽高,那么如果文本超出框高度,会自动出现滚动条。而不会撑开文本框高度。 如果什么也不设置,最小宽高很窄很细,随便输入内容也会超出文本框隐藏,且自动增加滚动条。 ?...因为文本框宽高固定死了, 还是超出出现了滚动条。 怎么让文本框初始化设置一定高度,但是文字超出时自动跟随内容高度伸缩?...答: 初始化高度通过css设置(如上),自动伸缩高度值通过js来计算(如下)。 如果js计算的话,就需要事件触发,用change事件? 答:但是change事件体验不好。 为什么?...答:就是计算文本框滚动高度,即内容高度 具体怎么做? 答:键盘每次弹起时候,获取文本框内容高度添加给文本框高度,即可让其实时跟随内容自适应。 内容高度用什么属性计算?...即:scrollHeight:给定对象滚动高度,即内容可视高度

    9.4K20

    js判断空对象

    假设你想检查你值是否等于空对象,可以使用对象文字语法创建: const emptyObject = {} 如何判断它是一个空对象? 使用Object.entries()方法。...它返回一个包含对象可枚举属性数组。 使用方式: Object.entries(objectToCheck) 如果它返回一个空数组,这意味着该对象没有任何可枚举属性,这反过来意味着它是空。...Object.entries(objectToCheck).length === 0 你还应该确保对象实际上是一个对象,通过检查它构造函数是对象对象: objectToCheck.constructor...=== Object Lodash是一个流行库,它提供了isEmpty()函数判断是否是空对象,简化了操作: _.isEmpty(objectToCheck) 类似的使用Object.entries...方法,我们还可以使用Object.keys()和Object.values()来判断判断方法很相似。

    18.5K30
    领券