Vuebar|轻量、性能高、可自定义的Vue.js滚动条指令插件
源码介绍
Vuebar是一个Vue.js的可定制滚动条插件,具有原生Scoll行为,且轻量、性能高、可自定义且没有依赖性。 Vuebar是一个轻量级、高性能且可自定义的Vue 2指令,用于实现自定义滚动条。使用时需要引入Vuebar并在Vue中注册,然后在需要添加滚动条的元素上添加相应的v-bar属性。 除了基本用法外,Vuebar还支持一些选项,例如preventParentScroll和scrollThrottle。这将禁止父元素滚动并设置滚动的速率。如果您不添加选项,Vuebar将使用默认值。 您可以通过Vue的props属性来自定义Vuebar的外观。例如,您可以更改滚动条的颜色和宽度。此外,Vuebar自动规范化数据,因此您不必担心数据是否在特定范围内。 要使用Vuebar,可以使用npm进行安装,也可以通过浏览器直接使用。 在项目中使用npm安装vuebar插件,命令如下: 基本html结构: 带选项的例子: 滚动条的默认样式如下,你需要手动添加到你的项目中(可以根据实际情况自行修改样式): 常用配置参数:简要教程
使用方法
安装
npm install vuebar --save
//cdn
https://unpkg.com/vuebar
使用
<div v-bar> <!-- 外层容器添加 v-bar 指令 -->
<div> <!-- 可滚动内容使用一个div包裹 -->
<!-- 可滚动内容 -->
</div>
<!-- dragger will be automatically added here -->
</div>
<div v-bar="{
preventParentScroll: true,
scrollThrottle: 30,
}"> <!-- 外层容器添加 v-bar 指令 -->
<div> <!-- 可滚动内容使用一个div包裹 -->
<!-- 可滚动内容 -->
</div>
<!-- dragger will be automatically added here -->
</div>
.vb > .vb-dragger {
z-index: 5;
width: 12px;
right: 0;
}
.vb > .vb-dragger > .vb-dragger-styler {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: rotate3d(0,0,0,0);
transform: rotate3d(0,0,0,0);
-webkit-transition:
background-color 100ms ease-out,
margin 100ms ease-out,
height 100ms ease-out;
transition:
background-color 100ms ease-out,
margin 100ms ease-out,
height 100ms ease-out;
background-color: rgba(48, 121, 244,.1);
margin: 5px 5px 5px 0;
border-radius: 20px;
height: calc(100% - 10px);
display: block;
}
.vb.vb-scrolling-phantom > .vb-dragger > .vb-dragger-styler {
background-color: rgba(48, 121, 244,.3);
}
.vb > .vb-dragger:hover > .vb-dragger-styler {
background-color: rgba(48, 121, 244,.5);
margin: 0px;
height: 100%;
}
.vb.vb-dragging > .vb-dragger > .vb-dragger-styler {
background-color: rgba(48, 121, 244,.5);
margin: 0px;
height: 100%;
}
.vb.vb-dragging-phantom > .vb-dragger > .vb-dragger-styler {
background-color: rgba(48, 121, 244,.5);
}
配置参数
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Vuebar|轻量、性能高、可自定义的Vue.js滚动条指令插件
发表评论 取消回复