美文网首页
javascript 滚动条组件 js-scrollbar 原生

javascript 滚动条组件 js-scrollbar 原生

作者: 非常帅气的昵称吧 | 来源:发表于2021-07-26 12:25 被阅读0次

    最近在找js的滚动条组件 没找到特别合适的 自己造了个轮子 有用的上的可以拿走

    js 滚动条组件 @xpf0000/js-scrollbar

    特性

    1. 原生代码, 无引用

    2. 自定义滚动条样式

    3. 尽量减少对页面的侵入度, 只增加两个横竖div滚动条

    4. 自动监听尺寸和内容变化, 自动响应

    5. 鼠标无动作,自动隐藏, 可开启关闭

    安装

    npm install @xpf0000/js-scrollbar
    

    使用

    import { XScrollBar } from "@xpf0000/js-scrollbar";
    // 页面整体滚动条 document.documentElement | 某个dom
    XScrollBar(document.documentElement, {
    xy: 'xy', // x | y | xy
    offsetX: 30, // 横向滚动条左右间距 数字 | 带单位的字符串 ('10%' | '5rem')
    offsetY: 50,  // 纵向滚动条上下间距 数字 | 带单位的字符串 ('10%' | '5rem')
    className: '', // 自定义类名 方便对单个滚动条更改样式
    autoHide: true, // 是否在鼠标静止后 自动隐藏滚动条
    autoHideDelay: 5000, // 鼠标静止后 多久隐藏滚动条
    })
    
    import ScrollBar from './index'
    Vue.use(ScrollBar)
    
    <div v-scrollbar="{ xy: 'xy', offsetY: 100, offsetX: 50 }">
    </div>
    

    样式

    参照scrollbar.css修改全局样式 或者使用className修改单个滚动条的样式

    .x-scroll-bar-x {
      position: absolute;
      left: 0;
      bottom: 20px;
      height: 10px;
      width: 100%;
      border-radius: 5px;
      overflow: hidden;
      background: rgba(50, 50, 50, 0.2);
    }
    
    .x-scroll-bar-x .bar-plant {
      position: absolute;
      left: 0;
      top: 20%;
      height: 60%;
      width: 150px;
      border-radius: 5px;
      overflow: hidden;
      background: rgba(10, 10, 10, 0.5);
    }
    
    .x-scroll-bar-y {
      position: absolute;
      right: 20px;
      top: 0;
      height: 100%;
      width: 10px;
      border-radius: 5px;
      overflow: hidden;
      background: rgba(150, 150, 150, 0.3);
    }
    
    .x-scroll-bar-y .bar-plant {
      border-radius: 5px;
      overflow: hidden;
      position: absolute;
      left: 20%;
      top: 0;
      width: 60%;
      height: 150px;
      background: rgba(10, 10, 10, 0.5);
    }
    
    .x-scroll-bar-x:hover, .x-scroll-bar-y:hover {
      opacity: 1.0;
    }
    
    .x-scroll-bar-x.x-scroll-dragging, .x-scroll-bar-y.x-scroll-dragging {
      opacity: 1;
    }
    
    .x-scroll-bar-x.x-scroll-hide, .x-scroll-bar-y.x-scroll-hide {
      opacity: 0;
    }
    
    .x-scroll-bar-x, .x-scroll-bar-y {
      opacity: 1.0;
      transition: opacity 0.5s;
      z-index: 2000;
    }
    

    相关文章

      网友评论

          本文标题:javascript 滚动条组件 js-scrollbar 原生

          本文链接:https://www.haomeiwen.com/subject/zuawmltx.html