首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

8.2K90

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

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

17.4K00

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

判断向图是否

比如在众多的大学课程中,有些课先修课,我们可以将其抽象为拓扑排序,向边(v, w)表明课程v必须安排在w之前,否则课程w就无法进行。...虽然圈图没有拓扑序列,但是我们可以利用拓扑排序的算法来判断一个向图是否圈。 算法描述如下: 1. 将所有入度为0的顶点放入队列; 2....否则,说明总     顶点入度不为0,没有放入队列中,即该有向图圈。...DFS 关于DFS的介绍请戳我,通过稍微修改DFS,利用递归的特点,也可以判断向图是否圈。...\n"); } return 0; }  上述利用DFS判断向图是否圈实际上是利用了深度优先生成树的性质:向图无圈当且仅当其深度优先生成树没有回退边, 而上述算法中的vis[graph

2.9K80

判断链表是否

判断一个单向链表是否环。(指向表头结点的指针为head) 方法一: (1)用两个指针p1和p2分别指向表头结点,即p1=p2=head (2)p1和p2分别采用1和2作为步长遍历该链表。...(注意,p2应该检查当前结点的下一个结点是否为NULL) (3)如果p1或者p2遇到了NULL,则证明该链表没有环;若p1和p2在某时刻指向同一结点,则说明该链表环。...(fast == NULL || fast -> next == NULL); } (4)若该表环, (a)设从表头结点(包括)开始到环开始的结点(不包括)共 l1个结点;设从环开始结点(包括)到它们相遇的结点...更多解法请见:http://topic.csdn.net/t/20040906/09/3343269.html# 扩展问题: 判断两个单链表是否相交,如果相交,给出相交的第一个点(两个链表都不存在环)。...比较好的方法两个: 一、将其中一个链表首尾相连,检测另外一个链表是否存在环,如果存在,则两个链表相交,而检测出来的依赖环入口即为相交的第一个点。

1.7K70

Github改版,宣布放弃jQuery || 你的青春里,是否有过 JQuery 的身影?

选择jQuery的理由,简单粗暴 跨浏览器 简单高效 稳定可靠 插件丰富 jQuery诞生于2006年8月,作者John Resig,10多年前,网页开发者深受浏览器不兼容性之苦,以jQuery为代表的一批...JavaScript库/框架应运而生: Dojo jQuery MooTools Prototype Yahoo!...,迅速风靡,开创了jQuery编程风格,从此走向鼎盛和辉煌,后来随着前端交互越来越重和移动应用的普及,jQuery UI、jQuery Mobile相继面世。...时至今日,jQuery仍然在支撑着数以千万计各种规模网站的运作,尽管聚光灯下已经不常看到它的身影。 俗话说:“皮之不存,毛将焉附” 随着时代变迁、技术进步,jQuery赖以存在的环境正逐渐消失。...新的环境催生了一批框架新秀,曾经辉煌的jQuery终于走到了可以华丽谢幕的时刻。

93200

链表是否环,视频讲解

Day 40:判断链表是否环 1 链表环是什么意思? 在判断是否环前,需要先知道什么是链表中的环? 如下所示的链表5个节点组成,框内的数字代表编号,也可理解为节点的地址。...所以,研究如何判断链表是否环,是一个非常有意义的课题,也是面试中常考的。...2 如何判断链表是否环 通过哈希的方法,代码比较好理解: class Solution(object): def hasCycle(self, head): s = set()...return True s.add(tmp) tmp = tmp.next return False 今天主要分析如何使用快慢指针判断链表是否环...快慢指针判断链表是否环,代码其实非常清晰,但是理解背后的数学原理,才是真正写出代码的关键,也就说一旦理解原理,就会很自然的写出代码;相反,如果不理解,仅仅凭记忆,那么时间长了,就容易忘记,面试时就容易写错

69910
领券