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

vue + element 页面滚动计算百分比 + 节流函数

html

<el-progress :percentage="scrollValue"></el-progress>

js:

data() {return {scrollValue: 0,}
},
mounted() {window.addEventListener('scroll', this.handleScroll) // 监听页面滚动
},
beforeDestroy() {window.removeEventListener('scroll', this.handleScroll)
},
methods: {
// 获取页面滚动距离handleScroll() {// Progress barvar s = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;// console.log(s)var body = document.body;// console.log(body)var html = document.documentElement;// console.log(html)var d = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);// console.log(d)var c = window.innerHeight;// console.log(c);var position = (s / (d - c)) * 100;// 四舍五入取值this.scrollValue = Math.round(position)}
}

 添加节流函数

新建 utils 文件夹并新建 throttle.js 文件

throttle.js :

/*** 节流函数* fu 延时调用函数* interval 延迟多长时间*/
export const _throttle = (fn, interval) => {var last;var timer;var interval = interval || 200;return function () {var th = this;var args = arguments;var now = +new Date();if (last && now - last < interval) {clearTimeout(timer);timer = setTimeout(function () {last = now;fn.apply(th, args);}, interval);} else {last = now;fn.apply(th, args);}}
};

开袋即食:

引入节流函数:

import { _throttle } from "@/utils/throttle.js"

使用节流函数:

mounted() {// 节流函数监听页面滚动window.addEventListener('scroll', _throttle(this.handleScroll,200))// window.addEventListener('scroll', this.handleScroll) // 监听页面滚动
},

http://www.lryc.cn/news/292551.html

相关文章:

  • 【笔记】React Native实战练习(仿网易云游戏网页移动端)
  • Android SystemUI 介绍
  • 2024美赛数学建模A题思路分析 - 资源可用性和性别比例
  • 2024年数学建模美赛C题(预测 Wordle)——思路、程序总结分享
  • TryHackMe-File Inclusion练习
  • Leetcode 《面试经典150题》169. 多数元素
  • 百度输入法往选字框里强塞广告
  • 分享一个Qt使用的模块间通信类
  • 工作七年,对消息推送使用的一些经验和总结
  • 计网——应用层
  • 算法面试八股文『 基础知识篇 』
  • docker-学习-4
  • el-upload子组件上传多张图片(上传为files或base64url)
  • 2024美赛数学建模C题思路源码——网球选手的动量
  • 金三银四_程序员怎么写简历_写简历网站
  • echarts条形图添加滚动条
  • Java 使用Soap方式调用WebService接口
  • 2024美赛数学建模所有题目思路分析
  • Docker容器引擎(5)
  • 百分点科技:《数据科学技术: 文本分析和知识图谱》
  • LabVIEW传感器通用实验平台
  • 向日葵企业“云策略”升级 支持Android 被控策略设置
  • 51单片机通过级联74HC595实现倒计时秒表Protues仿真设计
  • 深信服技术认证“SCCA-C”划重点:深信服云计算关键技术
  • Redis stream特性了解
  • 苍穹外卖项目可以写的简历和如何优化简历
  • C++:智能指针
  • 用户界面(UI)、用户体验(UE)和用户体验(UX)的差异
  • react 之 UseReducer
  • C++:this隐藏参数