Package Exports
- @zengxiaohui/vue3-seamless-scroll
- @zengxiaohui/vue3-seamless-scroll/lib/vue3SeamlessScroll.css
Readme
vue3-seamless-scroll
一个基于 seamless.js 封装,支持
vue3.x
的区域滚动插件
安装
npm install @zengxiaohui/vue3-seamless-scroll --save
使用
全局安装
// main.js
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App)
import vue3SeamlessScroll from '@zengxiaohui/vue3-seamless-scroll'
import '@zengxiaohui/vue3-seamless-scroll/lib/vue3SeamlessScroll.css'
app.use(vue3SeamlessScroll)
app.mount('#app')
局部应用
<template>
<div class="demo demo1">
<vue3SeamlessScroll :class-option="classOption" :list="list" @onChange="onChange">
<p v-for="(item,index) in list" :key="index" :data-item="item+index">{{item}}</p>
</vue3SeamlessScroll>
</div>
<div class="demo demo2">
<vue3SeamlessScroll :class-option="classOption2" :list="list">
<p v-for="(item,index) in list" :key="index">{{item}}</p>
</vue3SeamlessScroll>
</div>
</template>
<script>
import {ref} from "vue";
import vue3SeamlessScroll from '@zengxiaohui/vue3-seamless-scroll'
import '@zengxiaohui/vue3-seamless-scroll/lib/vue3SeamlessScroll.css'
export default {
name: "demo",
components: {vue3SeamlessScroll}
setup() {
const list = ref([])
for (let i = 0; i < 20; i++) {
list.value.push('人生有很多出其不意的惊喜,比如你会以为我举个栗子')
}
// 配置参数 在 seamscroll https://www.npmjs.com/package/seamscroll
// 基础上增加 stop setTimeout配置 默认超出容器才会滚动
const classOption = {
singleHeight: 21+20, // 元素高度+下边距
stop: false // 是否开启滚动
}
const classOption2 = {
step: 0.5, // 速度
hoverStop: true, // 鼠标停止
direction: 1, // 0 下 1 上 2 左 3 右
setTimeout: 200 // 延迟执行 毫秒
}
function onChange(e) {
console.log(e)
}
return {
classOption,
classOption2,
list,
onChange
}
}
}
</script>
<style scoped lang="scss">
*{
margin: 0;
padding: 0;
}
.demo{
width: 400px;
height: 300px;
border: 1px solid darkturquoise;
p{
margin-bottom: 20px;
}
}
.demo2{
margin-top: 50px;
}
</style>
参数配置
在seamless 基础上,增加几个属性:
const option = {
stop: false, // 是否禁止滚动
setTimeout: 1000, // 延迟执行的时间 毫秒
}
默认超出容器才会滚动
关于css
建议直接导入css, 或者自己写滚动容器css
import '@zengxiaohui/vue3-seamless-scroll/lib/vue3SeamlessScroll.css'
.vue3SeamlessScroll {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
}