vue中的滚动事件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
*{margin: 0;padding: 0;}
#box-small {
width: 1000px;
height: 2000px;
}
#box{
width: 100%;
height: 500px;
/*overflow: hidden;*/
overflow: auto;
}
</style>
</head>
<div id="box">
<div id="box-small">0.0</div>
</div>

<body>
<!-- vue监听滚动事件 -->
<script type="text/javascript">
var vm = new Vue({
el:‘#box‘,
data() {
return {
scrollLeft: ‘‘,
scrollTop: ‘‘,
}
},
methods: {
menu(e) {
console.log(e);
this.scrollLeft = document.getElementById(‘box‘).scrollLeft;
this.scrollTop = document.getElementById(‘box‘).scrollTop;
console.log(this.scrollTop);
console.log(this.scrollLeft);
}
},
mounted() {
var obj = document.getElementById(‘box‘);
obj.addEventListener(‘scroll‘, this.menu)
},
})
</script>
</body>
</html>

Vue没有scroll事件所以要用原生的写,并且写在周期函数mounted里

原文地址:https://www.cnblogs.com/yuyouyi/p/9286686.html

时间: 2024-09-30 07:20:14

vue中的滚动事件的相关文章

vue监听滚动事件,实现滚动监听

在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="https://unpkg

vue监听滚动事件,实现滚动监听(scroll滚动)

在vue中实现滚动监听和原生js无太大差异,下面是一个简单的demo,可在控制台查看结果 1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>Document</title> 7 <script type="text/javascript" src="

vue添加滚动事件,解决简书Carol_笑一笑方案中vue移除滚动事件失效的问题

在写项目的时候,遇到了需要添加滚动事件的问题,在简书Carol_笑一笑这里找到了解决方案.代码如下 <script> export default { name:"vue-scroll", data () { return { …… } }, mounted: function () { window.addEventListener('scroll', this.handleScroll, true); // 监听(绑定)滚轮滚动事件 }, methods: { hand

vue监听滚动事件 实现动态锚点

前几天做项目的时候,需要实现一个动态锚点的效果 如果是传统项目,这个效果就非常简单.但是放到 Vue 中,就有两大难题: 1. 在没有 jQuery 的 animate() 方法的情况下,如何实现平滑滚动? 2. 如何监听页面滚动事件? 在浏览了大量文章.进行多次尝试之后,终于解决了这些问题 期间主要涉及到了 setTimeout 的递归用法,和 Vue 生命周期中的 mounted 一.锚点实现 在实现平滑滚动之前,得先确保基本的锚点功能 如果没有其他要求,直接用 <a href="#i

vue监听滚动事件 实现某元素吸顶或者固定位置显示

https://blog.csdn.net/wang1006008051/article/details/78003974 1.监听滚动事件 利用VUE写一个在控制台打印当前的scrollTop, 首先,在mounted钩子中给window添加一个滚动滚动监听事件, mounted () { window.addEventListener('scroll', this.handleScroll) }, 然后在方法中,添加这个handleScroll方法 handleScroll () { var

vue中常用的事件和修饰符简单总结

1:阻止冒泡事件 JS事件流其中一种是冒泡事件,当一个元素被触发一个事件时,该目标元素的事件会优先被执行,然后向外传播到每个祖先元素,恰如水里的一个泡泡似的,从产生就一直往上浮,到在水平面时,它才消失.在这个过程中,如果你只希望事件发生在目标元素,而不想它传播到祖先元素上去,那么你需要在"泡泡"离开对象之前刺破它. 在vue中怎么写? 2:阻止默认行为 在vue中怎么写? 3:键盘事件 获取键码?通过事件对象来获取 注意:keydown事件和keyup事件的区别? keydown是在键

记一笔vue中的中央事件总线的问题,以及解决方案

代码结构:首先HeaderNav组件是被单独拎出来的,router-view中就对应了内容组件,由于有时候i有的界面的header内容是不一样的,因此要用到兄弟组件的相互通信,这个时候我首先选择了bus[中央事件总线] <div class="" v-if="!showScan"> <HeaderNav/> <router-view/> </div> 问题描述:就是在页面上用按钮点击切换路由的时候了,header是可以

vue中使用触摸事件,上滑,下滑,等

第一步,下载一个包 npm install kim-vue-touch -s 在当前项目中下载包 第二部 import vueTouch from 'kim-vue-touch' Vue.use(vueTouch) kim-vue-touch提供了点击.长按.左滑.右滑.上滑.下滑等事件, 当你不需要传参时可以通过v-tap="vueTouch"的形式调用方法, 当你需要传参时v-tap="(e)=>vueTouch('点击',e)"的方式调用,e是event

vue中触发键盘事件的两种方法和如何自定义键位事件,完整代码!

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con