我有一个带有v-rellax
指令的元素,用于在此 div 中启用视差滚动:
<div id="image" v-rellax="{ speed: -5 }"></div>
现在我需要更改speed
属性以-3
使其适应不同的screen width
. 有没有办法改变speed
:
1. in a `media query`
2. in `vue.js`
3. in `javascript`
有没有一种简单的方法可以做到这一点vue
?
编辑:
我已经尝试实施提供的解决方案,但视差滚动停止工作。我做错了吗?
<script>
export default {
name: "home",
data: { rellax_speed: -5 },
created() {
window.addEventListener('resize', (event) => {
if (event.target.innerWidth >= 576) {
this.rellax_speed = -3;
return;
}
this.rellax_speed = -5;
})
}
}
</script>
模板:
<div id="image" v-rellax="{ speed: rellax_speed }"></div>
编辑2:
<script>
export default {
name: "home",
data() {
return {
r_speed: -5
}
},
methods: {
onresize(event) {
if (event.target.innerWidth >= 576) {
this.r_speed = -3;
return;
}
this.r_speed = -5
}
},
created() {
window.addEventListener("resize", this.onresize)
},
beforeDestroy() {
window.removeEventListener("resize", this.onresize, true)
}
}
</script>
模板:
<div id="image" v-rellax="{ speed: r_speed }"></div>