JavaScript:防抖与节流
2024-10-10 09:11:04
①防抖:
<!DOCTYPE html>
<html> <head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
div {
height: 2200px;
background-color: pink;
}
</style>
</head> <body>
<div>我是内容部分</div>
<script type="text/javascript">
//防抖:函数只执行最后一次,若时间间隔小于500毫秒,则函数不执行
window.onscroll = debounce(function () {
console.log("调用了1次");
}, 500) function debounce(func, delay = 300) {
var timer
return function () {
var that=this
var args=arguments
clearTimeout(timer)
timer = setTimeout(function(){
func.apply(that,args) //改变定时器中的this指向
},delay)
}
}
</script>
</body> </html>
②节流:
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head> <body>
<button>点击</button>
<script>
//节流:函数在一定的时间里只能执行那么几次,点击后等500毫秒触发,只能500毫秒触发一次
var btn = document.getElementsByTagName('button')[0]
btn.onclick = throttle(function () {
console.log(111);
}, 500) function throttle(func, wait) {
var timer
return function () {
var that = this
var args = arguments
if (!timer) {
timer = setTimeout(function () {
timer = null
func.apply(that, args) //改变定时器中的this指向
}, wait)
}
}
}
</script>
</body> </html>
最新文章
- [LeetCode] Binary Tree Vertical Order Traversal 二叉树的竖直遍历
- Ubuntu杂记——Ubuntu下以USB方式连接Android手机调试
- php实现设计模式之 单例模式
- Android 某些配置记录
- Leetcode Perfect Square
- MongoDB与.NET结合使用一(mongodb在windows 2003上的安装)
- 如果一个游戏上面加一个透明层,js能不能实现 点击透明层的任意点 而正常玩游戏
- IOS基础之 (八) Foundation框架
- Html.ActionLink
- 信息安全实验三:privilege-separation
- 开源欣赏wordpress之文章新增页面如何实现。
- java面向对象之 多态 Polymorphism
- Go学习笔记(一)Let&#39;s 干吧
- 暑假练习赛 007 A - Time
- linkin大话数据结构--List
- Java基础知识回顾之二 ----- 修饰符和String
- python基础—迭代器、生成器
- SQL_CALC_FOUND_ROWS equivalent in PostgreSQL
- python numpy模块使用笔记(更新)
- Vue2.5 Web App 项目搭建 (TypeScript版)
热门文章
- [从源码学设计]蚂蚁金服SOFARegistry之程序基本架构
- 每天一个linux命令之top
- 赶紧收藏!这些Java中的流程控制知识你都不知道,你凭什么涨薪?
- 真的可惜,四面阿里,结果我被JVM垃圾回收机制与 OOM异常卡住了
- Ubuntu16.04安装搜狗输入法报错:dkpg:处理归档sogoupinyin.deb(--install)时出错,安装sogoupinyin将破坏fcitx-ui-qimpanel
- zabbix的搭建及操作(1)server-client架构
- 【MathType教学】如何让括号内的内容居中
- FL Studio中如何制作和混音Dutch Lead(上)
- 基于Vue、Springboot网站实现第三方登录之QQ登录,以及邮件发送
- win10安装jenkins忘记密码的解决方法