npm i -D vue-happy-scroll
当前是使用的https://unpkg.com托管CDN,unpkg会自动与npm
中版本保持同步。
通过以下方式引入即可:
<html>
<head>
<link rel="stylesheet" href="https://unpkg.com/vue-happy-scroll/docs/happy-scroll.css">
</head>
<body>
<script src="https://unpkg.com/vue-happy-scroll/docs/happy-scroll.min.js"></script>
</body>
</html>
可以访问https://unpkg.com/vue-happy-scroll/ 来选择不同版本
<template>
<happy-scroll>
<!-- 你的内容 -->
</happy-scroll>
</template>
<script>
import Vue from 'vue'
import HappyScroll from 'vue-happy-scroll'
// 引入css
import 'vue-happy-scroll/docs/happy-scroll.css'
Vue.use(HappyScroll)
//或者
import { HappyScroll } from 'vue-happy-scroll'
//自定义组件名
Vue.component('happy-scroll', HappyScroll)
</script>
<template>
<happy-scroll>
<!-- 你的内容 -->
</happy-scroll>
</template>
<script>
import { HappyScroll } from 'vue-happy-scroll'
// 引入css,推荐将css放入main入口中引入一次即可。
import 'vue-happy-scroll/docs/happy-scroll.css'
export default {
name: '',
components: {HappyScroll} //在组件内注册
}
</script>
当vue
是全局变量时
if (typeof window !== 'undefined' && window.Vue) {
Vue.component('happy-scroll', HappyScroll)
}
<html>
<happy-scroll>
</happy-scroll>
</html>
color
类型String
默认值rgba(51,51,51,0.2)
<happy-scroll color="rgba(51,51,51,0.2)">
</happy-scroll>
设置滚动条的颜色
建议使用rgba
,这样可以为滚动条设置透明度,当然,如果你需要设置透明度的话。
类型Number|String
默认值4
<happy-scroll size="8">
</happy-scroll>
设置滚动条的大小。
对于竖向滚动条表示宽度,横向滚动条表示高度
min-length-h (*new)
类型Number
默认值40
单位px
<happy-scroll :min-length-h="20">
</happy-scroll>
设置横向
滚动条最小的长度,当元素无限长或者宽的时候,会导致滚动条无限小,这种情况可以使用该属性。来设置最小的长度。
<happy-scroll :min-length-h="0.2">
</happy-scroll>
也可以设置百分比
来限制最小长度(可视区域 * min-length-h)。假设可视区域的宽度为300px
,那么滚动条为60px
。
当min-length-h
小于1
的时候,会将其当作百分比
来处理。
min-length-v (*new)
类型NUmber
默认值40
单位px
<happy-scroll :min-length-v="20">
</happy-scroll>
设置竖向
滚动条最小的长度,当元素无限长或者宽的时候,会导致滚动条无限小,这种情况可以使用该属性。来设置最小的长度。
<happy-scroll :min-length-v="0.2">
</happy-scroll>
也可以设置百分比
来限制最小长度(可视区域 * min-length-v)。假设可视区域的高度为200px
,那么滚动条为40px
。
当min-length-h
小于1
的时候,会将其当作百分比
来处理。
scroll-top
类型Number|String
默认值0
修饰符sync
<happy-scroll scroll-top="20">
</happy-scroll>
<happy-scroll scroll-top.sync="20">
在组件mounted
之后,设置容器
距离顶部的距离。
相当于element.scrollTop
一致。
scroll-top
的值会自动转换为数字,所以当值为固定的数字时(使用+
转换的),你无需增加:(v-bind)
,直接写为scroll-top="20"
即可。
scroll-left
类型Number|String
默认值0
修饰符sync
<happy-scroll scroll-left="20">
</happy-scroll>
<happy-scroll scroll-top.left="20">
在组件mounted
之后,设置容器
距离左边的距离。
相当于element.scrollLeft
一致。
hide-vertical
类型 Boolean
默认值 false
<happy-scroll hide-vertical>
</happy-scroll>
隐藏竖向
滚动条
hide-horizontal
类型 Boolean
默认值 false
<happy-scroll hide-horizontal>
</happy-scroll>
隐藏横向
滚动条
如果你不需要横向出现滚动条,可以设置hide-horizontal来提高性能。
resize
类型Boolean
默认值false
<happy-scroll resize>
</happy-scroll>
如果你的容器
大小是变化的(高度
或者宽度
可能随时发生变化的情况),可使用resize
来开启对容器大小变化的监听,当容器
的宽高
大于你设定的宽高
时,会自动出现滚动条,反正会自动隐藏滚动条。
此功能当前版本依赖 element-resize-detector,目前正在寻找性能更高的办法,当然此插件的性能还是可以肯定的
smaller-move-h、smaller-move-v
类型String
默认值''
start
除1、2
的值之外,其他所有值都认为是默认值
<happy-scroll smaller-move-v="start">
</happy-scroll>
当resize=true
时,此配置才有效。
该属性表示当容器变小
时,滚动条移动的方向。
smaller-move-h 内容变小时,横向
滚动条移动的方向
smaller-move-v 内容变小时,竖向
滚动条移动的方向
当设置为start
时,表示变小之后,滚动条会移动到头部
(对竖向
滚动条来说是最上边
,对横向
滚动条来说是最左边
)
当设置为end
时,表示变小之后,滚动条会移动到尾部
(对竖向
滚动条来说是最下边
,对横向
滚动条来说是最右边
)
当设置为''
(默认值)时,表示在变小时,滚动条的位置不发生变化。
bigger-move-h、bigger-move-v
类型String
默认值''
start
除1、2
的值之外,其他所有值都认为是默认值
<happy-scroll bigger-move-h="start">
</happy-scroll>
当resize=true
时,此配置才有效。
该属性表示当容器大小变大
时,滚动条移动的方向。
属性值与smaller-move-h
原理一致。
类型Boolean
默认值false
<happy-scroll left>
</happy-scroll>
表示设置竖向
滚动条依靠在左
边。默认竖向滚动条在右边。
类型Boolean
默认值false
<happy-scroll top>
</happy-scroll>
表示设置横向
滚动条依靠在上
边。默认横向滚动条在下边。v
throttle
类型Number
默认值14
单位毫秒
设置鼠标拖动滚动条的节流时间,如果没有特殊的要求不建议修改此值。
horizontal-start
参数scrollLeft
在horizontal-start
事件下,scrollLeft
始终为0
。
监听横向滚动条滚动到头部
的事件。当scroll-left = 0
时会触发该事件。
<happy-scroll @horizontal-start="yourHandler">
</happy-scroll>
horizontal-end
参数scrollLeft
监听横向滚动条滚动到尾部
的事件。
<happy-scroll @horizontal-end="yourHandler">
</happy-scroll>
vertical-start
参数scrollTop
在vertical-start
事件下,scrollTop
始终为0
监听竖向滚动条滚动到头部
的事件。当scroll-top = 0
时会触发该事件。
<happy-scroll @vertical-start="yourHandler">
</happy-scroll>
vertical-end
参数scrollTop
监听竖向滚动条滚动到尾部
的事件。
<happy-scroll @vertical-end="yourHandler">
</happy-scroll>
期待并欢迎您的PR。
但请您一定要遵守standard代码风格规范。
并且您只需要提交src
目录下的源码即可,无需
提交build
之后的代码