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

这篇具有很好参考价值的文章主要介绍了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);

手动切换当前展示的索引文章来源地址https://www.toymoban.com/news/detail-767615.html

到了这里,关于vue + element 实现鼠标左右滑动效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包