Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

Vue3 保存持续存在的Dom元素

在写一个 Vue3 的组件,
其中有一个功能为将 div 的每次滚动距离为自己控制的固定距离

实现思路:
通过使用Element.scrollBy() + WheelEvent 事件来实现

由于这个是在写 Vue3 组件
所以我保持着 Dom 操作尽量由 Vue 操作
而这个又必须访问 Dom ,
所以我想持续保存这个 Dom 元素,因为这个元素会在页面上存在很长时间,
来在 WheelEvent 事件触发时不用再次
getElementsByClassName()

另一种访问这个元素的方法是事件的对象
却经过测试 WheelEvent有个问题 ,
使用鼠标滚动时,这个事件的对象
当鼠标在内容上时 为内容,
当鼠标在内边距时为容器,
但我想获取到是容器元素

<div class="e" @wheel="mousewheel">
 <div class="item">
     0
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     1
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     2
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     3
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     4
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     5
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     6
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     7
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     8
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     9
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     10
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     11
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     12
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
 <div class="item">
     13
     <img src="safe-file-protocol:://G:/test/1.PNG" alt="">
 </div>
</div>

//script
 setup() {
         function mousewheel(e){
         console.log(e);
         // e.preventDefault();

         console.log('wheel');
     }
             return {
         mousewheel
     }
     

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

监听元素滚动不是用onscroll的吗,哪有用wheel


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...