Element UI 走马灯 实现鼠标滚动切换页面

鼠标滚动切换页面

elementui Carousel 走马灯+鼠标滚轮事件实现

一、在轮播图外的盒子外添加鼠标滚轮事件,触发GoWheel函数。

js 复制代码
 @wheel="goWheel"

二、通过判断deltaY的数值来触发相应事件

它检查滚轮事件的deltaY属性是否大于0

js 复制代码
event.deltaY

当鼠标滚轮向下滚动时,其返回值大于零,向上滚动时其返回值小于零。

三、通过ref 获取轮播图元素,再通过相应方法控制轮播图执行事件,详情见element ui 官网事件。

js 复制代码
this.$refs.swiper.next();

this.$refs.swiper.prev();

代码

html 复制代码
<div @wheel="goWheel"> 
        
    <el-carousel height="100vh" direction="vertical" :autoplay="false" @change="load"             
           trigger="click" ref="swiper" :loop="false">
 
 
             <el-carousel-item>
 
             </el-carousel-item>
 
    </el-carousel>
 
</div>

el-carousel-item里面放切换的图片或视频

javascript 复制代码
goWheel() {
    if (event.deltaY > 0 && this.one==true) { //data中定义one为true 当one为true时执行
          this.$refs.swiper.next();           //以此来控制每次轮播图切换的张数
          this.one=false;
          setTimeout(()=>{
              this.one=true
          },1000)
    }
    
    if (event.deltaY < 0 && this.one==true) {
        this.$refs.swiper.prev();
        this.one=false;
        setTimeout(()=>{
            this.one=true
        },1000)
    }
},
相关推荐
java1234_小锋12 小时前
Vue3专题 - 组件基础
vue.js·vite
阿懂在掘金17 小时前
同一份弹窗我重构了三次:从 v-model 地狱到路由式调用,终于治好了模板臃肿
前端·vue.js·前端框架
小锋java123419 小时前
【技术专题】Vue3 - 生命周期
vue.js·vite
Highcharts.js20 小时前
Vue 3 + Highcharts Boost 可视化加速模块的完整示例
javascript·vue.js·可视化·boost·highcharts·图表渲染·加速模块
夏幻灵20 小时前
从语法坑点到 JS 内存底层:Vue 3 watch 侦听器深度全解
开发语言·javascript·vue.js
Sterting21 小时前
反馈组件:对话框、消息与通知
前端·javascript·vue.js
书中枫叶21 小时前
做了个「句拾」小程序,最难的不是业务,是字体
前端·javascript·vue.js
新时代牛马1 天前
Vue.js 响应式原理详解
前端·javascript·vue.js
满栀5851 天前
vue3动态路由详细效果
前端·javascript·vue.js·typescript·前端框架
山荷枝1 天前
05-Vue
前端·javascript·vue.js