需求说明
如图所示,VUE下需要实现通过鼠标拖动来实现左右的滚动效果(而不是拉动左右的滚动条)
可以使用github开源的滚动插件:https://github.com/donmbelembe/vue-dragscroll, 文档地址:https://vue-dragscroll.donfalcon.com/
集成步骤
package.json引入依赖(查看以下代码,其他依赖和配置我都省略了):
{
"dependencies": {
"vue-dragscroll": "^3.0.1"
}
}
vue代码引入:
import { dragscroll } from 'vue-dragscroll'
export default {
directives: {
dragscroll
},
data() {
},
created() {
},
methods: {
}
}
HTML代码如下:
<div style="text-align: left;background: #FAFAFA;padding: 0 15px 20px 15px;" v-if="kejians.length>0">
<div style="padding: 10px 0;font-weight: 600;">相关课件</div>
<div class="h-scroll" v-dragscroll style="cursor: pointer;">
<div v-for="kejian in kejians" style="text-align: center;background: white;margin-right: 15px;border-radius: 8px;">
<img :src="baseUrl+'/api/media/media/'+kejian.mediaId+'.jpg'"
style="width: 180px;height: 100px;display: block;margin:0 auto;border-top-left-radius: 8px;border-top-right-radius: 8px;"/>
<div style="padding: 4px 10px;">{{ kejian.name }}</div>
</div>
</div>
</div>
相关的CSS:
.h-scroll {
display: flex;
overflow-x: auto;
white-space: nowrap;
}
// 隐藏横向滚动条
.h-scroll::-webkit-scrollbar {
display: none; /* Safari and Chrome */
}
之前有文章专门介绍HTML、CSS实现横向滚动的,详见:https://blog.terrynow.com/2022/04/27/css-div-horizontal-scroll-and-hide-scroll-bar-implement/

文章评论