JS 节流

article/2025/11/3 20:05:14

JS 节流

说明:

1.对于高频触发的监听事件函数,实现对于触发次数的间接限制,从而降低触发次数.

2.关键点在于控制时间周期内,阻止触发内容,即上锁;在时间周期外解锁,触发内容。

3.主要是对间隔时间限制,在规定时间内,阻止触发事件内指定程序或默认抛弃

4.三种实现节流方式:时间戳版,定时器版,束流版

5.相当于"技能冷却时间"

初始化代码

<style>.wrap {margin: 20px auto;width: 400px;height: 250px;box-shadow: 0 0 4px #333;color: #08d;font-size: 40px;font-weight: 800;display: flex;justify-content: center;align-items: center;cursor: pointer}
</style>
<body><div class="wrap">0</div>
</body>

请添加图片描述

时间戳版

<script>
//时间戳版let oWrap = document.querySelector(".wrap")let count = 0let time = 0//时间戳版oWrap.addEventListener("mousemove", function () {if (Date.now() - time < 1000) {return false;}time = Date.now()write()}, false)function write() {oWrap.innerText = count++}
</script>

定时器版

//定时器版let oWrap = document.querySelector(".wrap")let count = 0let lock = falseoWrap.addEventListener("mousemove", function () {if (lock) {return true}lock = truewrite()//控制再次触发时间间隔setTimeout(() => {lock = false}, 1000);}, false)function write() {oWrap.innerText = count++}

束流版

 //束流版let oWrap = document.querySelector(".wrap")let count = 0let num = 0oWrap.addEventListener("mousemove", function () {num++if (num % 100 !== 0) {return false;}write()}, false)function write() {oWrap.innerText = count++}

效果

当鼠标在div元素上移动时,触发mousemove事件,通过三种节流函数控制,“限制”在规定时间内触发write函数,从而“防止”元素内的数字快速增加。


http://chatgpt.dhexx.cn/article/fgeGOYcI.shtml

相关文章

个人对于节流的理解!

文章目录 前言一、节流是什么&#xff1f;二、节流的实现总结 前言 防抖和节流是前端经常会被提起以及涉及到的内容&#xff0c;更是前端性能优化的手段之一&#xff0c;我初学防抖和节流也遭遇了很多坑&#xff0c;所以想写一篇博客一则当作学习笔记&#xff0c;二则如果能帮…

节流的基本使用以及理解

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、节流是什么&#xff1f;应用场景 二、使用步骤1.定义节流阀2.绑定 mousemove 事件3. 判断节流阀是否为空&#xff0c;如果不为空,说明距离上一次执行时间还没有…

图片跟随鼠标样式跟随效果(附完整代码及效果)

Demo效果如下&#xff1a; 完整代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta …

前端必备技能之----节流

&#xff08;引言----和大佬们出去吃饭总是会有收获的&#xff0c;这个知识点是我之前从未考虑过的事情&#xff0c;但是在现代的设计开发之中却是非常重要且使用频率非常之高的两个概念。&#xff09; 作为一个前端的初学者&#xff0c;因为之前淋过雨&#xff0c;所以想为同…

html锚点链接小案例

案例1&#xff1a;回到首页 <html ><head><meta charset"utf-8"><title></title><style type"text/css"> *{border: 0;margin: 0; padding: 0;}.box1, .box2{height: 3000px; width: 200px;background-color: green…

HTML锚点为什么叫hash,锚点链接和hash属性

相信大家挺经常见过这样一个效果。有一个很长很长的页面,分成好几部分,目录中一点击,就能定位到页面某个位置。 例如:有这样一个目录,例如你点击一下“HTML”,就会直接跳转到“HTML”的页面位置 这就是锚点链接(也叫书签链接),常常用于那些内容庞大繁琐的网页,通过点击…

html5添加锚点锭接,为页面添加锚点链接

为页面添加锚点链接 开哈础是发通待质击文以为近哈知按分过续的战发中会遇到为页面中添加锚点链接的需求,即在页面中点击某处,可以跳转到与之有联系的地方。添加锚点的方法比较多,在这儿,把常用的方法大享上。是发了概开程态间些告人屏果会区。一一是控标近体到班都一从小述…

菜鸟 html锚链接,Vue锚点链接

锚点链接是我们在开发中经常会用到的一个技术点&#xff0c;常见的常见有&#xff0c;页面内容过多&#xff0c;而我们不希望拿鼠标一直来回滚动&#xff0c;就需要用到锚点链接&#xff0c;以 " 目录 " 的方式来进行对应的跳转。 而在常见的项目中&#xff0c;锚点链…

制作图片锚点链接html,锚点链接怎么做

网页内容过多时我们可以使用锚点链接来进行位置的跳转&#xff0c;通过锚点链接我们不但可以指向文档&#xff0c;还能指向页面里的特定段落&#xff0c;这样就会便于我们来浏览网页中的内容&#xff0c;那么&#xff0c;锚点链接怎么实现呢&#xff1f;本篇文章就来给大家介绍…

web前端学习26(锚点链接)

文章目录 4.7.2 链接分类 4.7.2 链接分类 锚点链接&#xff1a;点我们点击链接&#xff0c;可以快速定位到页面中的某个位置。 在链接文本的href属性中&#xff0c;设置属性值为#名字的形式&#xff0c;如< a href"#two">第2集< /a> 点完这个链接就会跳…

Web容器版本泄露漏洞修复

0x00 背景 恶意攻击者可以根据版本信息寻找相关漏洞&#xff0c;进行利用漏洞攻击 0x01 修复思路 通过修改配置或者配置错误提示页面&#xff0c;隐藏 web容器的版本号及其它敏感信息。 0x02 代码修复 Apache 版本号 隐藏 Apache 的版本号及其它敏感信息&#xff0c;配置操…

Spring容器 SpringMVC容器 web容器的关系

说到spring和springmvc&#xff0c;其实有很多工作好多年的人也分不清他们有什么区别&#xff0c;如果你问他项目里用的什么MVC技术&#xff0c;他会说我们用的spring和mybatis&#xff0c;或者spring和hibernate。 在潜意识里会认为springmvc就是spring&#xff0c;之前我也是…

SpringBoot深入(一)--SpringBoot内置web容器及配置

版权声明&#xff1a;作者原创&#xff0c;转载请注明出处。 本系列文章目录地址&#xff1a;http://blog.csdn.net/u011961421/article/details/79416510 前言 在学会基本运用SpringBoot同时&#xff0c;想必搭过SSH、SSM等开发框架的小伙伴都有疑惑&#xff0c;SpringBoot在…

SpringBoot内置web容器及配置

前言 在学会基本运用SpringBoot同时&#xff0c;想必搭过SSH、SSM等开发框架的小伙伴都有疑惑&#xff0c;SpringBoot在spring的基础上做了些什么&#xff0c;使得使用SpringBoot搭建开发框架能如此简单&#xff0c;便捷&#xff0c;快速。本系列文章记录博主网罗博客、分析源码…

Web 容器、HTTP 服务器 、Servlet 容器区别与联系

首先浏览器发起 HTTP 请求&#xff0c;像早期的时候只会请求一些静态资源&#xff0c;这时候需要一个服务器来处理 HTTP 请求&#xff0c;并且将相应的静态资源返回。 这个服务器叫 HTTP 服务器。 简单点说就是解析请求&#xff0c;然后得知需要服务器上面哪个文件夹下哪个名字…

常见的几种web容器(Apache、Nginx、Tomcat)

目录 前言ApacheNginxTomcat ~~~~~~~~ 因为想要面对一个新的开始&#xff0c;一个人必须有梦想、有希望、有对未来的憧憬。如果没有这些&#xff0c;就不叫新的开始&#xff0c;而叫逃亡。 ​​​​ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

web容器、中间件以及web服务器的区别

一、web容器 1.web容器的介绍 web容器是一种服务程序&#xff0c;在服务器一个端口就有一个提供相应服务的程序&#xff0c;而这个程序就是处理从客户端发出的请求。实际上&#xff0c;Web容器是一种服务程序&#xff0c;给处于其中的应用程序组件提供环境&#xff0c;使其直接…

Web容器的作用

在eclipse中创建web项目时&#xff0c;会选择一个target runtime&#xff0c;意思就是在什么上面运行&#xff0c;也就是运行时的web容器。我们常用的Tomcat就是一种web容器。简单来说&#xff0c;web容器也就是servlet容器。主要有以下作用&#xff1a; 1.通信支持 通过web容…

docker——Ubuntu镜像操作和apache web容器操作小实训

文章目录 Ubuntu镜像操作apache web容器操作 Ubuntu镜像操作 &#xff08;1&#xff09;拉取最新的Ubuntu官方镜像。 &#xff08;2&#xff09;查看该镜像的详细信息。 &#xff08;3&#xff09;查看该镜像的构建历史。 &#xff08;4&#xff09;删除该镜像。 apache w…

经典Web容器解析漏洞

目录 Apache 文件名解析漏洞(info.php.x 绕过) IIS6.0解析漏洞 文件名解析漏洞(time.asp;1.jpg&#xff09; 目录解析漏洞(1.asp/time.jpg) PHP-CGI 解析漏洞&#xff08;IIS 7.0&#xff08;info.png/.php&#xff09;&#xff09; Nginx解析漏洞 1. 空字节漏洞&#x…