当前位置: 首页 > news >正文

vue + element 实现鼠标左右滑动效果

我用了element中的走马灯+overflow-x: auto;

html (复制后格式化一下)
<div class="scroll" id="entrance"><el-carousel height="150px" :autoplay="false" :loop="false" arrow="always" ref="entrance"><el-carousel-item v-for="(item, index) in list" :key="index"><el-row><el-col :span="8" class=" header-particulars raod-parking"><div >{{item}}</div></el-col></el-row></el-carousel-item></el-carousel></div>.scroll {width: 100%;user-select: none;overflow-x: auto;white-space: nowrap;}
js
mounted() {this.entrance = document.querySelector('#entrance')
},methods:{// 左右滑动触发的切换prev() {this.$refs.entrance.prev();},next() {this.$refs.entrance.next();},slide(i) {var flag;var downX;i.addEventListener("mousedown", function (event) {flag = true;// 获取到点击的x下标downX = event.clientX;});var that = this;i.addEventListener("mousemove", function (event) {if (flag) {// 判断是否是鼠标按下滚动元素区域// 获取移动的x轴var moveX = event.clientX;// 当前移动的x轴下标减去刚点击下去的x轴下标得到鼠标滑动距离// 我这里就是根据这个值去判断是否切换的var scrollX = moveX - downX;// 左滑if (scrollX < 0) {if (scrollX < -150) {// 调用切换的方法that.next()// 切换完后 取消事件flag = false;}}if (scrollX > 0) {if (scrollX > 150) {that.prev(type)flag = false;}}}});// 鼠标抬起停止拖动i.addEventListener("mouseup", function () {flag = false;});// 鼠标离开元素停止拖动i.addEventListener("mouseleave", function (event) {flag = false;});},
},
watch: {entrance(n) {// 监听 然后调用切换的方法this.slide(n)},
},

this.$refs.entrance.setActiveItem(index);

手动切换当前展示的索引

http://www.lryc.cn/news/262729.html

相关文章:

  • gitlab 安装
  • idea中定时+多数据源配置
  • Python---多任务的介绍
  • Kubernetes 的用法和解析 -- 4
  • 【fabrc.js】 操作鼠标自由绘制图形:矩形、圆形、直线等图形【画图功能】
  • WPF 显示PDF、PDF转成图片
  • CODESYS的Robotics_PickAndPlace_without_Depictor例程解释
  • 通过全流量分析Web业务性能好坏
  • 【C语言】自定义类型——枚举、联合体
  • 大模型自定义算子优化方案学习笔记:CUDA算子定义、算子编译、正反向梯度实现
  • 【密码学基础】Diffie-Hellman密钥交换协议
  • 最新AI绘画Midjourney绘画提示词Prompt教程
  • AI助力DevOps新时代
  • Spring之容器:IOC(2)
  • Spring 依赖查找知识点总结
  • html5新增特性
  • 4、APScheduler: 详解Scheduler种类用法、常见错误与解决方法【Python3测试任务管理总结】
  • 微服务实战系列之ZooKeeper(实践篇)
  • C++ 开发中为什么要使用继承
  • 2020蓝桥杯c组纸张大小
  • 【Image】图像处理
  • JAVA对文档加密
  • EmbedAI:一个可以上传文件训练自己ChatGPT的AI工具,妈妈再也不用担心我的GPT不会回答问题
  • runCatching异常捕获onSuccess/onFailure返回函数,Kotlin
  • IDEA报错处理
  • 使用动画曲线编辑器打造炫酷的3D可视化ACE
  • 使用 React 和 ECharts 创建地球模拟扩散和飞线效果
  • http状态码(一)400报错
  • 【深度学习目标检测】五、基于深度学习的安全帽识别(python,目标检测)
  • 芒果RT-DETR改进实验:深度集成版目标检测 RT-DETR 热力图来了!支持自定义数据集训练出来的模型