简介

解决原生滚动条在不同系统、不同浏览器中的丑陋表现,
在保证原生滚动条功能可用的基础上实现了更丰富的功能、保证在所支持的浏览器下展现出风格一致、交互体验一致的滚动条。

  • 保留原生滚动条功能
  • 支持动态设置滚动条颜色
  • 支持设置滚动条的位置。左右(竖向滚动条)、上下(横向滚动)方向
  • 支持隐藏滚动条
  • 支持动态设定滚动位置,并支持topleft值同步
  • 支持动态数据resize,滚动条自动隐藏与显示
  • 支持设置resize滚动条变化规则(e. 在chart应用中,来新消息时,滚动条始终在最底部)
  • 支持设置滚动速度
  • 支持设置隐藏滚动条,hover时显示

步骤

安装

  • 安装:npm i vue-happy-scroll --save

引入

全局引入

  • 修改src/main.js文件
import Vue from 'vue'
import { HappyScroll } from 'vue-happy-scroll'
import 'vue-happy-scroll/docs/happy-scroll.css'

Vue.component('happy-scroll', HappyScroll)

组件引入

import { HappyScroll } from 'vue-happy-scroll'
// 引入css,推荐将css放入main入口中引入一次即可。
import 'vue-happy-scroll/docs/happy-scroll.css'

export default {
  components: {
    HappyScroll
  } // 在组件内注册
}

使用

<!-- 外层盒子 -->
<div style="height:200px;width:300px;background-color:#ccc;">
  <!-- 这里的标签名称要和main.js文件中定义的组件名称保持一致 -->
  <happy-scroll color="rgba(0,0,0,0.5)" size="5">
    <!-- 内层盒子——内容区 -->
    <div class="con">
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
      <p>士大夫撒入个任务二个人合同不大废物个人都怕顺风耳个二级gap所爱速发sure欧若尔奥沙是否</p>
    </div>
  </happy-scroll>
</div>

API

属性

选项默认值类型描述
colorrgba(51,51,51,0.2)String设置滚动条的颜色
size4NumberString
min-length-h40Number横向滚动条最小的长度,当元素无限长或者宽的时候,会导致滚动条无限小,这种情况可以使用该属性。来设置最小的长度。当min-length-h小于1的时候,会将其当作百分比来处理
min-length-v40Number竖向滚动条最小的长度,当元素无限长或者宽的时候,会导致滚动条无限小,这种情况可以使用该属性。来设置最小的长度。当min-length-v小于1的时候,会将其当作百分比来处理
scroll-top0NumberString
scroll-left0NumberString
hide-verticalfalseBoolean隐藏竖向滚动条
hide-horizontalfalseBoolean隐藏横向滚动条
resizefalseBoolean开启监听容器大小变化
smaller-move-h‘’String容器大小变小时,横向滚动条移动的方向:可选值startend,除此之外的其他值都认为是默认值。当resize=true时,此配置才有效
smaller-move-v‘’String容器大小变小时,纵向滚动条移动的方向:可选值startend,除此之外的其他值都认为是默认值。当resize=true时,此配置才有效
bigger-move-h‘’String容器大小变大时,横向滚动条移动的方向:可选值startend,除此之外的其他值都认为是默认值。当resize=true时,此配置才有效
bigger-move-v‘’String容器大小变大时,纵向滚动条移动的方向:可选值startend,除此之外的其他值都认为是默认值。当resize=true时,此配置才有效
leftfalseBoolean设置竖向滚动条依靠在左边。默认竖向滚动条在右边
topfalseBoolean设置横向滚动条依靠在上边。默认横向滚动条在下边
throttle14Number鼠标拖动滚动条的节流时间,单位ms。如果没有特殊的要求不建议修改此值

事件

名称参数说明
horizontal-startscrollLeft监听横向滚动条滚动到头部的事件。当scroll-left = 0时会触发该事件
horizontal-endscrollLeft监听横向滚动条滚动到尾部的事件
vertical-startscrollTop监听竖向滚动条滚动到头部的事件。当scroll-top = 0时会触发该事件
vertical-endscrollTop监听竖向滚动条滚动到尾部的事件

By lxcss

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注