el-scrollbar添加按钮点击事件,实现横向滚动
时间: 2023-07-08 19:51:52 浏览: 167
要想为 `el-scrollbar` 添加按钮点击事件实现横向滚动,可以使用以下方法:
1. 在 `el-scrollbar` 组件内部添加两个按钮,一个用于向左滚动,一个用于向右滚动:
```
<el-scrollbar ref="scrollbarRef">
<div class="scroll-left" @click="handleScrollLeft"></div>
<!-- el-scrollbar 的内容 -->
<div class="scroll-right" @click="handleScrollRight"></div>
</el-scrollbar>
```
2. 监听按钮的点击事件,当用户点击按钮时计算滚动的距离,并根据距离计算滚动的位置:
```
methods: {
handleScrollLeft() {
const scrollDistance = this.$refs.scrollbarRef.$el.scrollLeft - 100;
this.$refs.scrollbarRef.$el.scrollLeft = scrollDistance >= 0 ? scrollDistance : 0;
},
handleScrollRight() {
const scrollDistance = this.$refs.scrollbarRef.$el.scrollLeft + 100;
const maxScrollDistance = this.$refs.scrollbarRef.$el.scrollWidth - this.$refs.scrollbarRef.$el.clientWidth;
this.$refs.scrollbarRef.$el.scrollLeft = scrollDistance <= maxScrollDistance ? scrollDistance : maxScrollDistance;
},
},
```
上面的代码中,当用户点击向左滚动按钮时,我们通过 `scrollLeft` 属性计算向左滚动的距离并设置 `el-scrollbar` 的滚动距离;当用户点击向右滚动按钮时,我们同样通过 `scrollLeft` 属性计算向右滚动的距离,并根据滚动的距离和 `scrollWidth` 属性计算最大可滚动的距离,从而设置 `el-scrollbar` 的滚动距离。
阅读全文