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

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

前言 最近在写插件过程中,需要使用 JS 判断是否有滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,代码不够简洁。最终通过参考不同方法,写了一个比较简单方法。...在判断滚动同时也需要计算滚动宽度,通过本篇文章一并与大家分享。 为什么要判断滚动条 ?...判断是否有滚动方法 其实只需要一行 JS 就可以,测试兼容 IE7 function hasScrollbar() { return document.body.scrollHeight >...计算滚动条宽度方法比较简单,新建一个带有滚动 div 元素,通过该元素 offsetWidth 和 clientWidth 差值即可获得,我在此借鉴 Magnific-popup 中方法 function...实现一个功能可能并不困难,但作为编程人员应该时刻思考如何更简单更优雅实现这个功能,并且时刻以提升用户体验为原则。

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

    JS简易整页滚动

    fullPage超简易版本 1.知识点 JS 滚动监听事件 JS 移动端touch监听事件 函数节流 DOM操作 2.示例GIF ?..., 并设置为相对定位, 滚动是修改外部容器 Top 值, 实现滚动效果. html, body { padding: 0; margin: 0; overflow: hidden; } ....向下滚动时, 当 currentPosition 比 -整体分页高度 大时候(绝对值相比小时候), 向下滚动;向上滚动时, 当 currentPosition 大于 0 时候, 向上滚动. /...滚动事件firefox与其他浏览器事件不同, 所以需要进行判断. deltaY大于0时候, 想下滚动; 反之, 向上滚动. var handlerWheel = throttle(scrollMove...page-container') // 获取浏览器视窗高度 var viewHeight = document.documentElement.clientHeight // 获取滚动页数

    15.6K31

    【开源解析】一款老虎机抽奖数字滚动js组件

    数字滚动组件 最近遇到一个数字模拟老虎机滚动问题,以前有做过几次。但是都没有对它进行沉淀,这次觉得应该把这个东西沉淀一下,方便日后使用。本组件主要针对移动端面。...然后在需要页面中引用本,在需要使用数字滚动容器元素中添加一个叫HALO-NUMBER-SCROLL属性值,并在容器内添加做为容器第一个元素...如下: 简单用法如下...3,4为无差异化滚动 xxx$ 表示倒数后三们为无差异滚动 } ); NUMBERS.scroll(); 单独定制 有时候,一个页面内有多个数字滚动,并且每个滚动具体定制不同,无法统一通过NUMBERS.set...numberscroller组件可以通过数字滚动容器属性来完成单独定制。

    4.3K40

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

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

    17.4K00

    学习滚动插件iScroll简单使用

    目前有以下版本: iscroll.js,这个版本是常规应用脚本。它包含大多数常用功能,有很高性能和很小体积。 iscroll-lite.js,精简版本。...iscroll-probe.js,探查当前滚动位置是一个要求很高任务,这就是为什么我决定建立一个专门版本。如果你需要知道滚动位置在任何给定时间,这是iScroll给你。...(我正在做更多测试,这可能最终在常规iscroll.js脚本,请留意)。 iscroll-zoom.js,在标准滚动功能上增加缩放功能。...iscroll-infinite.js,可以做无限缓存滚动。处理很长列表元素为移动设备并非易事。 iScroll infinite版本使用缓存机制,允许你滚动一个潜在无限数量元素。...可以处理用户进行移动交互元素:滚动,缩放,平移,无限滚动,视差滚动,旋转等功能。

    2.9K30

    JS滑动滚动n种方式

    JS滑动滚动n种方式 # 阅读本文,你将: 了解原生JS实现页面滚动多种方式 了解这多种方式可以对应上效果以及推荐应用场景 多个滑动方面的坑以及相应(如果有)解决方案 获得一些有用函数...值: 如果为true,元素顶端将和其所在滚动可视区域顶端对齐。...那么,如果一个元素没有滚动条,采用是transform模拟滚动,那么就无效咯 2.3 适用性检测 可以用下边代码在控制台检测一下页面有没有任何一个地方代码scrollTop不是0 let elementList...区别是设置behavior为'smooth'后会平滑滚动 3.2 使用说明 如果场景要求我们滚动页面到某个元素位置,此时可以使用window.scrollTo(); 如果场景要求我们滚动到某个可滚动父元素位置...该api仅FireFox支持 7.1 基本用法 表示相对当前滚动位置再滚动指定页数距离,行为表现接近于空格键(反向+Shift)控制滚动 例如window.scrollByPages(-1)表示向上滚动

    6.3K10
    领券