欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue 框架下自定义滚动条(easyscroll)实现方法

程序员文章站 2022-09-07 08:00:13
增加一个自定义滚动条插件: //插件采用jsx语法,使用前需要安装vue-jsx插件 npm install babel-plugin-syntax-jsx -...

增加一个自定义滚动条插件:

//插件采用jsx语法,使用前需要安装vue-jsx插件
npm install babel-plugin-syntax-jsx --save-dev
npm install babel-plugin-transform-vue-jsx --save-dev
npm install babel-helper-vue-jsx-merge-props --save-dev
npm install babel-preset-es2015 --save-dev
//更改.babelrc文件
{
 "presets": [
  ["es2015", { "modules": false }],
  ["env", {
   "modules": false,
   "targets": {
    "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
   }
  }],
  "stage-2"
 ],
 "plugins": ["transform-vue-jsx", "transform-runtime"],
 "env": {
  "test": {
   "presets": ["env", "stage-2"],
   "plugins": ["istanbul"]
  }
 }
}
//安装使用插件
npm isntall --save easyscroll
//main.js中
import easyscroll from 'easyscroll';
vue.use(easyscroll);
//滚动条主要参数
mybaroption:{
 barcolor:"#959595",  //滚动条颜色
 barwidth:6,      //滚动条宽度
 railcolor:"#eee",   //导轨颜色
 barmarginright:0,   //垂直滚动条距离整个容器右侧距离单位(px)
 barmaginbottom:0,   //水平滚动条距离底部距离单位(px)
 baropacitymin:0.3,   //滚动条非激活状态下的透明度
 zindex:"auto",    //滚动条z-index
 autohidemode:true,   //自动隐藏模式
 horizrailenabled:true,//是否显示水平滚动条
}
//页面代码
<easyscrollbar :baroption="mybaroption">
  <div>
   <div>
    内容
   </div>
  </div>
</easyscrollbar>
<script>
  data{
   return{
    data(){
     mybaroption:{
      barcolor:"red"
     }
    }
   }
  }
</script>
//后台搭建代码参考
<template>
 <div id="app">
  <router-view class="frametop" name="top"/>
  <router-view class="framemenu" name="menus"/>
  <easyscrollbar class="framemain" :baroption="mybaroption">
   <div class="organization" :style="'height:'+scrollheight+'px'">
    <router-view></router-view>
   </div>
  </easyscrollbar>
 </div>
</template>

<script>
export default {
 data(){
  return {
   scrollheight: 0,     //easyscrollbar 的直接子元素的高度
   mybaroption: {
    barcolor:"#959595",  //滚动条颜色
    barwidth:6,      //滚动条宽度
    railcolor:"#eee",   //导轨颜色
    barmarginright:0,   //垂直滚动条距离整个容器右侧距离单位(px)
    barmaginbottom:0,   //水平滚动条距离底部距离单位(px)
    baropacitymin:0.3,   //滚动条非激活状态下的透明度
    zindex:"auto",     //滚动条z-index
    autohidemode:true,   //自动隐藏模式
    horizrailenabled:true,//是否显示水平滚动条
   }
  }
 },
 created: function() {
  this.init();
 },
 methods:{
  init: function() {
   //初始化时计算页面核心模块得高度,并赋值给 easyscrollbar 的直接子元素
   this.scrollheight = document.documentelement.clientheight-50;
  }
 }
}

</script>

<style>
@import "./assets/css/base.css";
@import "./assets/css/frame.css";
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。