在IE浏览器下fixed定位容器随着滚动条出现抖动问题(实测有效)

在ie浏览器下使用fixed定位的容器随着滚动条滚动出现晃动,这种问题比较常见,以下我们给两个解决方案。

方案一

把滑动滚动取消

方案二

在vue组件的created生命周期中添加此代码

document.addEventListener('wheel',function(event) {event.preventDefault()const wd = event.deltaYconst csp = window.document.documentElement.scrollTopwindow.scrollTo(0, wd + csp)
})

延申学习

一、事件处理器的绑定

对于onwheel事件,可以使用addEventListener()方法来将事件处理程序绑定到元素上。示例如下:

<script>const div = document.querySelector('div');div.addEventListener('wheel', function(event) {console.log('onwheel事件:', event);});
</script>

二、事件对象的属性

onwheel事件传递的事件对象中包含以下属性:

  • deltaX:表示鼠标滚轮在X轴方向上滚动的量,单位为像素。
  • deltaY:表示鼠标滚轮在Y轴方向上滚动的量,单位为像素。
  • deltaZ:表示鼠标滚轮在Z轴方向上滚动的量,单位为像素。该属性只在一些高级设备中存在。
  • deltaMode:表示deltaX、deltaY和deltaZ属性的单位。可能的值有:DOM_DELTA_PIXEL(像素)、DOM_DELTA_LINE(行)、DOM_DELTA_PAGE(页)。

 三、兼容性

在兼容性上,onwheel比onmousewheel兼容性更高。onmousewheel事件只在Webkit内核的浏览器中存在,而onwheel事件则可以在大部分现代浏览器中正常运行。

四、事件触发频率

onmousewheel事件的触发频率要高于onwheel事件。

在Chrome浏览器中,测试了10000次事件触发,结果显示onmousewheel事件在1秒内平均能够被触发43次,而onwheel事件只有4次。

五、阻止默认事件的发生

event.preventDefault()

再延申学习阻止默认事件会带来新的需求

需求是这样的,有一个元素,比如div,通过鼠标滚动,实现该元素包含图片的放大缩小,即:在该元素上滚动鼠标滚轮,则滚动效果只在该元素上起作用,而不影响界面(即浏览器)的滚动条。

何为滚轮事件的默认行为:

     解释:在某个元素上滚动鼠标滚轮,比如下图中的id等于div1、div2的div元素,有两种情况:

               1、元素上没有滚动条,比如:div1,则滚动滚轮时,由于该元素上没有滚动条,则不会出现滚动效果,而右侧浏览器的滚动条会出现相应的滚动效果

               2、元素上有滚动条,比如:div2,则滚动滚轮时,只有div2元素出现滚动效果,而右侧浏览器的滚动条不做相应的滚动
 

 

因此要实现只在元素上的滚动效果,需要避免上面默认行为中的第一种情况:即该元素上未出现滚动条,但是又要滚动鼠标,则只需要阻止该元素wheel事件的默认行为:e.preventDefault,分以下两种情况实现:

1、给该元素添加wheel事件,并阻止其默认行为     

     let div1 = document.querySelector('#div1');div1.addEventListener('wheel', zoomIn, false);function zoomIn(event) {event.preventDefault();}  

 2、 给document添加wheel事件,并阻止其默认行为

     document.addEventListener('wheel', zoomIn, {passive: false, useCapture: false});function zoomIn(event) {event.preventDefault();}  passive必须有,且值为false,否则,chrome下会报错:[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passiveuseCapture为true和false都可以

 passive可以参考


     https://blog.csdn.net/ET1131429439/article/details/96200037
     https://blog.csdn.net/tengxy_cloud/article/details/52858742

wheel事件参考

    https://developer.mozilla.org/zh-CN/docs/Web/API/Element/wheel_event

    https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/159767.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins发布失败记录

Exception when publishing, exception message [Exec exit status not zero. Status [127]] 见链接&#xff1a;Jenkins发布时常见异常&#xff08;持续更新...&#xff09;_exception when publishing, exception message [exec_码农StayUp的博客-CSDN博客 The remote end hu…

华为云云耀云服务器L实例评测|企业项目最佳实践之包管理工具安装软件(六)

华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践系列&#xff1a; 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测&#xff5…

大模型引发“暴力计算”,巨头加速推进液冷“降温”

点击关注 文&#xff5c;姚悦 编&#xff5c;王一粟 一进入部署了液冷服务器的数据中心&#xff0c;不仅没有嘈杂的风扇声&#xff0c;甚至在不开空调的夏日也完全没有闷热感。 在大模型引发“暴力计算”的热潮下&#xff0c;数据中心的上下游&#xff0c;正在加紧推进液冷“…

Apipost一键压测已支持导入CSV文件

最近更新中Apipost对UI页面进行了一些调整&#xff0c;另外一键压测功能支持参数化&#xff01;本篇文章将详细介绍这些改动&#xff01; API调试页面的细节改动 在请求区填入请求参数或脚本时会有相应的标识 如在Query中填入多个参数时上方会展示数量 在预、后执行脚本中写…

Seata入门系列【7】Seata之TCC模式入门案例

1 前言 Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式&#xff0c;为用户打造一站式的分布式解决方案。 TCC 与 Seata AT 事务一样都是两阶段事务&#xff0c;它与 AT 事务的主要区别为&#xff1a; TCC 对业务代码侵入严重&#xff1a;每个阶段的数据操作都要自己进行…

最好的开放式蓝牙耳机有哪些?排名前五的开放式耳机五强

越来越多的人开始选择蓝牙耳机作为他们的音频解决方案。蓝牙耳机市场提供了各式各样的选择&#xff0c;不仅有常见的头戴式、耳塞式和半入耳式&#xff0c;还有一种备受欢迎的"开放式耳机"。今天&#xff0c;我将向大家介绍一些优秀的开放式蓝牙耳机款式&#xff0c;…

网站如何有效防止网络攻击

互联网上的网站和应用程序受到各种威胁&#xff0c;如黑客、恶意软件和数据泄漏。因此&#xff0c;了解如何解决网站被攻击的问题至关重要。本文将介绍一些简单的步骤&#xff0c;帮助您提高您的网站的安全性。 确认攻击 要解决网站被攻击的问题&#xff0c;首先需要识别是否遭…

将中文名格式化输出为英文名

要求&#xff1a; 编写Java程序&#xff0c;输入样式为&#xff1a;Zhong wen ming的人名&#xff0c;以 Ming,Zhong.W 的形式打印出来。其中.W是中间单词的首字母&#xff1b;例如输入”Willian Jefferson Clinton“,输出形式为&#xff1a;Clinton,Willian.J public static …

FPGA project : flash_write

本实验重点学习了&#xff1a; flash的页编程指令pp。 在写之前要先进行擦除&#xff08;全擦除和页擦除&#xff09;&#xff1b; 本实验&#xff1a;先传写指令&#xff0c;然后进入写锁存周期&#xff0c;然后传页编程指令&#xff0c;3个地址&#xff1b; 然后传数据&a…

攻防千层饼

近年来&#xff0c;网络安全领域正在经历一场不断升级的攻防对抗&#xff0c;这场攻防已经不再局限于传统的攻击与防御模式&#xff0c;攻击者和防守者都已经越发熟练&#xff0c;对于传统攻防手法了如指掌。 在这个背景下&#xff0c;攻击者必须不断寻求创新的途径&#xff0…

Hadoop问题:start-all.sh显示未找到命令

在sbin文件夹下是start-all.sh可以运行的&#xff0c;但是到了别的文件夹下就不行了&#xff0c;于是想到了是文件路径问题&#xff0c;因为hadoop环境是和java环境一起配置的导致sbin写成了bin 解决办法&#xff1a; 打开.bashrc配置hadoop的环境变量 sudo vim ~/.bashrc …

Photoshop Lightroom 2024 (Lr2024)最新安装特别版

Adobe Photoshop Lightroom 2024是一款由Adobe Systems公司发布的软件&#xff0c;其英文直译为“明室”&#xff0c;也常被称为数码暗房。它主要用于图片管理和后期润色&#xff0c;包括图片导入、整理、编辑、导出等全过程&#xff0c;不仅可以对图片进行编辑&#xff0c;还可…

Qt不能安装自己想要的版本,如Qt 5.15.2

使用在线安装工具安装Qt5.15.2时&#xff0c;发现没有Qt 5的相关版本&#xff0c;只有Qt 6的版本&#xff0c;这时选择右边的Archive&#xff0c;再点击筛选&#xff0c;这时就会出现之前的Qt版本。

web 性能优化详解(Lighthouse工具、优化方式、强缓存和协商缓存、代码优化、算法优化)

1.性能优化包含的方面 优化性能概念宽泛&#xff0c;可以从信号、系统、计算机原理、操作系统、网络通信、DNS解析、负载均衡、页面渲染。只要结合一个实际例子讲述清楚即可。 2.什么是性能&#xff1f; Web 性能是客观的衡量标准&#xff0c;是用户对加载时间和运行时的直观…

创建React Native的第一个hello world工程

创建React Native的第一个hello world工程 需要安装好node、npm环境 如果之前没有安装过react-native-cli脚手架的&#xff0c;可以按照下述步骤直接安装。如果已经安装过的&#xff0c;但是在使用这个脚手架初始化工程的时候遇到下述报错的话 cli.init(root, projectname);…

机器学习 Q-Learning

对马尔可夫奖励的理解 看的这个教程 公式&#xff1a;V(s) R(s) γ * V(s’) V(s) 代表当前状态 s 的价值。 R(s) 代表从状态 s 到下一个状态 s’ 执行某个动作后所获得的即时奖励。 γ 是折扣因子&#xff0c;它表示未来奖励的重要性&#xff0c;通常取值在 0 到 1 之间。…

【音视频|ALSA】SS528开发板编译Linux内核ALSA驱动、移植alsa-lib、采集与播放usb耳机声音

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

SVN报错fail to run the WC Db work queue associated with,清理失败,乱码的解决方式

替换掉 wc.db 文件即可 SVN报错fail to run the WC Db work queue associated with&#xff0c;清理失败&#xff0c;乱码的解决方式_svn failed to run the wc db-CSDN博客

华为云云耀云服务器L实例评测|企业项目最佳实践之评测用例(五)

华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践系列&#xff1a; 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之云服务器介绍(一) 华为云云耀云服务器L实例评测&#xff5c;企业项目最佳实践之华为云介绍(二) 华为云云耀云服务器L实例评测&#xff5…

数据在内存中的存储(2)

文章目录 3. 浮点型在内存中的存储3.1 一个例子3.2 浮点数存储规则 3. 浮点型在内存中的存储 常见的浮点数&#xff1a; 3.14159 1E10 ------ 1.0 * 10^10 浮点数家族包括&#xff1a; float、double、long double 类型 浮点数表示的范围&#xff1a;float.h中定义 3.1 一个例…