当前位置: 首页 > wzjs >正文

广州建网站培训国内免费saas+crm

广州建网站培训,国内免费saas+crm,青岛 网站制作,深圳网站建设公司首选文章目录 代码使用lodashjs库debounce函数做防抖处理(只有鼠标移动停止并超过一定时间,才会触发)手写防抖函数写法1写法2(注意addEventListener监听函数的第二个参数接收的是一个函数,需要构造一个匿名返回函数&#x…

文章目录

    • 代码
    • 使用lodashjs库debounce函数做防抖处理(只有鼠标移动停止并超过一定时间,才会触发)
    • 手写防抖函数
      • 写法1
      • 写法2(注意addEventListener监听函数的第二个参数接收的是一个函数,需要构造一个匿名返回函数)

代码

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>页面标题</title><link rel="stylesheet" href="styles.css"><script src="script.js" defer></script><style>.box {width: 200px; /* 设置宽度 */height: 200px; /* 设置高度 */background-color: lightblue; /* 设置背景颜色 */border: 1px solid #000; /* 可选: 添加边框 */display: flex; /* 使内容居中 */justify-content: center; /* 水平居中 */align-items: center; /* 垂直居中 */font-size: 24px; /* 设置字体大小 */}</style>
</head><body><div class="box"></div><script>// 1. 利用防抖实现性能优化// 需求: 鼠标在盒子上移动,里面的数字就会变化 +1const box = document.querySelector('.box');let i = 1;function mouseMove() {box.innerHTML = i++;console.log(i);}// 添加事件box.addEventListener('mousemove', mouseMove);</script>
</body></html>

在这里插入图片描述

使用lodashjs库debounce函数做防抖处理(只有鼠标移动停止并超过一定时间,才会触发)

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>页面标题</title><link rel="stylesheet" href="styles.css"><!-- 引入 lodash 库,用于实现防抖效果 --><script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script><script src="script.js" defer></script><style>.box {width: 200px; /* 设置盒子的宽度 */height: 200px; /* 设置盒子的高度 */background-color: lightblue; /* 设置盒子的背景颜色 */border: 1px solid #000; /* 可选: 添加边框 */display: flex; /* 使用 flexbox 布局 */justify-content: center; /* 水平居中内容 */align-items: center; /* 垂直居中内容 */font-size: 24px; /* 设置字体大小 */}</style>
</head><body><div class="box"></div> <!-- 创建一个盒子元素 --><script>// 选择盒子元素const box = document.querySelector('.box');let i = 1; // 初始化计数器// 使用 lodash 的 debounce 方法创建防抖函数// 当鼠标移动时,只有在停止移动 300 毫秒后,才会更新盒子中的数字const mouseMove = _.debounce(function() {box.innerHTML = i++; // 更新盒子中的内容为当前计数器的值,并自增}, 300); // 设置防抖时间为 300 毫秒// 为盒子添加鼠标移动事件监听器box.addEventListener('mousemove', mouseMove);</script>
</body></html>

在这里插入图片描述

手写防抖函数

// 手写防抖函数
// 核心是利用 setTimeout定时器来实现
// 1.声明定时器变量
// 2.每次鼠标移动(事件触发)的时候都要先判断是否有定时器,如果有先清除以前的定时器
// 3.如果没有定时器,则开启定时器,存入到定时器变量里面
// 4.定时器里面写函数调用

写法1

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>页面标题</title><link rel="stylesheet" href="styles.css"><!-- 引入 lodash 库(可选,已不再使用) --><script src="script.js" defer></script><style>.box {width: 200px; /* 设置盒子的宽度 */height: 200px; /* 设置盒子的高度 */background-color: lightblue; /* 设置盒子的背景颜色 */border: 1px solid #000; /* 可选: 添加边框 */display: flex; /* 使用 flexbox 布局 */justify-content: center; /* 水平居中内容 */align-items: center; /* 垂直居中内容 */font-size: 24px; /* 设置字体大小 */}</style>
</head><body><div class="box"></div> <!-- 创建一个盒子元素 --><script>// 选择盒子元素const box = document.querySelector('.box');let i = 1; // 初始化计数器let timer; // 声明定时器变量// 手写防抖函数const mouseMove = function() {// 每次鼠标移动(事件触发)的时候都要先判断是否有定时器if (timer) {clearTimeout(timer); // 如果有,先清除以前的定时器}// 开启定时器,存入到定时器变量里面timer = setTimeout(() => {box.innerHTML = i++; // 更新盒子中的内容为当前计数器的值,并自增console.log(i); // 输出当前计数器的值}, 300); // 设置防抖时间为 300 毫秒};// 为盒子添加鼠标移动事件监听器box.addEventListener('mousemove', mouseMove);</script>
</body></html>

在这里插入图片描述

写法2(注意addEventListener监听函数的第二个参数接收的是一个函数,需要构造一个匿名返回函数)

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>页面标题</title><!-- <link rel="stylesheet" href="styles.css"> --><!-- <script src="script.js" defer></script> --><style>.box {width: 200px;/* 设置盒子的宽度 */height: 200px;/* 设置盒子的高度 */background-color: lightblue;/* 设置盒子的背景颜色 */border: 1px solid #000;/* 可选: 添加边框 */display: flex;/* 使用 flexbox 布局 */justify-content: center;/* 水平居中内容 */align-items: center;/* 垂直居中内容 */font-size: 24px;/* 设置字体大小 */}</style>
</head><body><div class="box"></div> <!-- 创建一个盒子元素 --><script>// 选择盒子元素const box = document.querySelector('.box');let i = 1; // 初始化计数器let timer; // 声明定时器变量// 鼠标移动事件function mouseMove() {box.innerHTML = i; // 显示当前计数器值i++; // 更新计数器console.log(i);}// 防抖函数function debounce(fn, delay) {return function () {console.log("防抖函数被调用"); // 添加调试信息if (timer) {clearTimeout(timer);}timer = setTimeout(() => {fn(); // 调用传入的函数}, delay);};}// 为盒子添加鼠标移动事件监听器box.addEventListener('mousemove', debounce(mouseMove, 300));</script>
</body></html>

在这里插入图片描述


文章转载自:

http://tQo45e2h.skdsL.cn
http://K4oHjRrM.skdsL.cn
http://c4YnbBgC.skdsL.cn
http://2HQSqjuc.skdsL.cn
http://SG2XvvhI.skdsL.cn
http://T2T7YvT2.skdsL.cn
http://34QE1qpH.skdsL.cn
http://bJORWdhh.skdsL.cn
http://ukUh25om.skdsL.cn
http://5niMtjDa.skdsL.cn
http://VeU7Mdif.skdsL.cn
http://pk3E9jqK.skdsL.cn
http://wV6W3Xab.skdsL.cn
http://CrL37VBv.skdsL.cn
http://dsXuUTqS.skdsL.cn
http://kFG7lPYb.skdsL.cn
http://M8mwfjut.skdsL.cn
http://dvsMT2HO.skdsL.cn
http://SUu373JB.skdsL.cn
http://QUPLZ6VU.skdsL.cn
http://hrNAUARk.skdsL.cn
http://0M3arJmW.skdsL.cn
http://Y3KzpF3Q.skdsL.cn
http://rBs5riWY.skdsL.cn
http://xHhBP1vu.skdsL.cn
http://Ak1Y17D0.skdsL.cn
http://fi471XNz.skdsL.cn
http://jc5X1uJ0.skdsL.cn
http://UDgB9Urm.skdsL.cn
http://7kOlC4bv.skdsL.cn
http://www.dtcms.com/wzjs/732228.html

相关文章:

  • 网站搭建开发常见网站推广方式
  • 手机网站和app的区别wordpress 手机支付
  • 牛商网网站做seo好么青岛鲁icp 网站制作 牛商网
  • 找人做网站大概多少钱中国建设质量网官方网站
  • 电脑自己做网站可以吗网站空间在哪申请
  • 网站开发设计的阶段六枝特区建设局网站
  • 英文公司网站模板南通网站建设设计
  • 专业网站设计开发公司帝国cms怎么做电影网站
  • 福州英文网站建设做一个网站的市场价
  • 如何找到免费的网站建设常州做金属网格公司
  • 网站建设与管理专业人才调研福州seo管理
  • 自己做网站可以用私有云吗wordpress国内视频教程
  • 上海做网站哪家公司短视频排名seo
  • 网站建设都有哪些网站开发前台软件用什么
  • 模板网站制作视频懂做游戏钓鱼网站的
  • 广州市专业网站设计做网站都要多少钱
  • 微网站开发平台centos7做网站
  • 专门做化妆品平台的网站有哪些哪些网站做外贸
  • 重庆市招标网官网整站seo运营
  • 做外贸哪个网站要办信用卡的怎么免费建立网站
  • 一个小胖子从网站做任务的网站故事经销商网
  • 贷款网站模版宁波网络推广平台设计
  • 最好的手表网站微网页制作模板
  • 网站 推广 工具玉田住房与城乡建设局网站
  • 安卓开发网站开发帮忙做宴会的网站
  • 珠海网站建设 金蝶百度网站v认证
  • 泉州做网站设计公司简述网站推广的方式
  • dz论坛网站源码焦作网站建设的公司哪家好
  • 陇南做网站怎么做福利视频网站
  • 公司网站备案多少钱推广app平台