html
<div class="roll" id="x-roll">
<div class="roll-item" v-for="(item,index) in list" :key=""> </div>
</div>
css
.roll{
overflow-x: auto; // x轴超出就显示滚动条
display: -webkit-box; // 跟flex布局差不多
}
.roll-item{
width: 500px;
}
js代码
// 初始化与绑定监听事件方法
function scrollInit() {
// 获取要绑定事件的元素
const nav = document.getElementById("x-roll")
// document.addEventListener('DOMMouseScroll', handler, false)
// 添加滚轮滚动监听事件,一般是用下面的方法,上面的是火狐的写法
nav.addEventListener('mousewheel', handler, false)
// 滚动事件的出来函数
function handler(event) {
// 获取滚动方向
const detail = event.wheelDelta || event.detail;
// 定义滚动方向,其实也可以在赋值的时候写
const moveForwardStep = 1;
const moveBackStep = -1;
// 定义滚动距离
let step = 0;
// 判断滚动方向,这里的100可以改,代表滚动幅度,也就是说滚动幅度是自定义的
if (detail < 0) {
step = moveForwardStep * 100;
} else {
step = moveBackStep * 100;
}
// 对需要滚动的元素进行滚动操作
nav.scrollLeft += step;
}
}
加载页面的时候执行一次scrollInit监听事件就可以了