返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue实现一个滚动条样式
  • 779
分享到

vue实现一个滚动条样式

2024-04-02 19:04:59 779人浏览 八月长安
摘要

起初是想修改浏览器滚动条样式来达到效果 但是查阅了资料 浏览器滚动条不能修改宽度与位置 没办法只能自己写 首先是滚动条样式 <div class="scrollBar"

在这里插入图片描述

起初是想修改浏览器滚动条样式来达到效果
但是查阅了资料 浏览器滚动条不能修改宽度与位置
没办法只能自己写
首先是滚动条样式


<div class="scrollBar" v-if="roleList.length > 5">
        <div
          class="box"
          @mousedown="move"
          v-bind:style="{ width: activewidth + 'px' }"
        ></div>
      </div>

样式


.scrollBar {
  width: 500px;
  height: 6px;
  background: #d5dbf5;
  margin: 0 auto;
  margin-top: 72px;
  border-radius: 4px;
  position: relative;

  .box {
    width: 30px;
    height: 100%;
    background: #fff;
    border-radius: 4px;
    position: absolute;
    left: 0;
  }
  .box:hover {
    cursor: pointer;
  }
}

滚动区域的样式这里就不写了

1 首先是滚动条滑块的宽度


mounted() {
    //滚动区域宽度  我这里是遍历的user列表  所以我拿到列表的长度*每个li的宽度即为总宽度
    let bgWidth = this.$refs.liList.clientWidth * this.roleList.length;
    //可视区域宽度  1065   这个就是上图中白色背景盒子的宽度
    //滑块宽度 500为滚动条宽度  计算这个宽度是为了拿到滑块可以滑动的距离 这个下面会说到
    this.activewidth = 500 * (1065 / bgWidth);
  },

2 给滑块添加鼠标事件


move(e) {
      //获取目标元素
      let odiv = e.target;
      // ScrollArea
      //算出鼠标相对元素的位置
      let disX = e.clientX - odiv.offsetLeft;
      //滚动条可以滚动的距离
      let viewArea = 500 - this.activewidth;
      //滚动区域宽度
      let bgWidth = this.$refs.liList.clientWidth * this.roleList.length;
      document.onmousemove = (e) => {
        //鼠标按下并移动的事件
        //用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
        let left = e.clientX - disX;
        //left < 0 表示滑块已经到最左边
        //或者left > viewArea  表示滑块到最右边
        if (left < 0 || left > viewArea) {
          //console.log("到头了");
          //这个时候要清空事件 不然滑块就划出滚动条区域了
          document.onmousemove = null;
        } else {
         //滑块的滑动距离
          odiv.style.left = left + "px";
          //滚动区域的滑动距离 = 滚动区域宽度*(滑块滑动的距离/500)
          this.$refs.ScrollArea.style.left =
            "-" + bgWidth * left / 500 + "px";
        }
      };
      document.onmouseup = (e) => {
        document.onmousemove = null;
        document.onmouseup = null;
      };
    },

到此这篇关于Vue实现一个滚动条样式的文章就介绍到这了,更多相关vue实现滚动条内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue实现一个滚动条样式

本文链接: https://lsjlt.com/news/131054.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue实现一个滚动条样式
    起初是想修改浏览器滚动条样式来达到效果 但是查阅了资料 浏览器滚动条不能修改宽度与位置 没办法只能自己写 首先是滚动条样式 <div class="scrollBar" ...
    99+
    2024-04-02
  • vue怎么修改滚动条样式
    本篇内容主要讲解“vue怎么修改滚动条样式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么修改滚动条样式”吧!首先要知道,修改滚动条样式,利用伪元素-webkit-scrollbar。注...
    99+
    2023-06-25
  • H5中如何实现滚动条样式
    这篇文章主要为大家展示了“H5中如何实现滚动条样式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“H5中如何实现滚动条样式”这篇文章吧。具体如下: ::-webk...
    99+
    2024-04-02
  • vue修改滚动条样式的方法
    目录首先要知道,修改滚动条样式,利用伪元素-webkit-scrollbar。 注意, ::-webkit-scrollbar仅仅支持WebKit的浏览器(例如谷歌Chrome、苹果...
    99+
    2024-04-02
  • vue实现web滚动条分页
    本文实例为大家分享了vue web滚动条分页的具体代码,供大家参考,具体内容如下 1.在你的帮助类里面新建一个slidePagination.js文件 2.将下面的代码复制进去 i...
    99+
    2024-04-02
  • CSS怎样设置滚动条样式
    这篇文章主要介绍CSS怎样设置滚动条样式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   一、webkit下面的CSS设置滚动条   上面是滚动条的主要几个设置属性,还有更详尽...
    99+
    2024-04-02
  • css如何隐藏滚动条或更改滚动条样式
    小编给大家分享一下css如何隐藏滚动条或更改滚动条样式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!隐藏滚动条或更改滚动条样式::-webkit-scrollba...
    99+
    2023-06-26
  • JavaScript怎样实现隐藏滚动条
    这篇文章将为大家详细讲解有关JavaScript怎样实现隐藏滚动条,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。实现方法:1、...
    99+
    2024-04-02
  • 怎么在Android中实现一个滚动条广告
    这篇文章将为大家详细讲解有关怎么在Android中实现一个滚动条广告,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。ViewSwitcher的介绍ViewSwitcher 设置动画ViewSw...
    99+
    2023-05-30
    android
  • Vue实现跑马灯样式文字横向滚动
    本文实例为大家分享了Vue实现跑马灯样式文字横向滚动的具体代码,供大家参考,具体内容如下 需求: 在Vue项目的顶部,来实现文字左右滚动 步骤: 1、可以自己封装一个组件,也可以自己...
    99+
    2024-04-02
  • vue怎么实现web滚动条分页
    这篇“vue怎么实现web滚动条分页”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么实现web滚动条分页”文章吧。在...
    99+
    2023-06-30
  • css怎么去掉滚动条样式
    本篇内容介绍了“css怎么去掉滚动条样式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!css去掉滚动条样式...
    99+
    2024-04-02
  • 如何理解DIV滚动条样式
    如何理解DIV滚动条样式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。向大家描述一下DIV滚动条样式的概念,重点介绍一下DIV滚动条属性及其相...
    99+
    2024-04-02
  • css怎么设置滚动条样式
    css设置滚动条样式的方法:在css中可以使用scrollbar属性设置滚动条样式。<pre>::-webkit-scrollbar 滚动条整体部分::-webkit-scrollbar-button 滚动条...
    99+
    2024-04-02
  • css怎么改变滚动条样式
    这篇文章主要介绍了css怎么改变滚动条样式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css改变滚动条样式的方法:1、通过“-webkit-scrollbar”属性设置滚动...
    99+
    2023-06-14
  • css如何设置滚动条样式
    这篇文章主要介绍“css如何设置滚动条样式”,在日常操作中,相信很多人在css如何设置滚动条样式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何设置滚动条样式”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-04
  • html中div滚动条设置,DIV滚动条属性及样式设置方式
    在HTML中,可以通过CSS来设置div的滚动条属性和样式。以下是一些常见的设置方式:1. 设置div的滚动条样式:```cssdi...
    99+
    2023-09-20
    html
  • CSS怎么自定义滚动条样式
    本篇内容介绍了“CSS怎么自定义滚动条样式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!相信很多人都遇到过...
    99+
    2024-04-02
  • 如何配置H5的滚动条样式
    这篇文章主要介绍如何配置H5的滚动条样式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下: ::-webkit-scrollbar-track {  &nb...
    99+
    2024-04-02
  • html滚动条样式的设置方法
    这篇文章主要介绍了html滚动条样式的设置方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。设置html滚动条样式的方法:首先新建文档,再新建CSS文件;然后创建DIV标签并...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作