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


Posted in Javascript onAugust 29, 2019

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

//插件采用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>

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

Javascript 相关文章推荐
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
Mar 26 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
Dec 15 Javascript
jquery插件validate验证的小例子
May 08 Javascript
JS求平均值的小例子
Nov 29 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
基于vue2的table分页组件实现方法
Mar 20 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
Jul 17 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
Koa 使用小技巧(小结)
Oct 22 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
Jun 19 Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 Javascript
js实现圆形菜单选择器
Dec 03 Javascript
Angular8路由守卫原理和使用方法
Aug 29 #Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 #Javascript
vue父子组件通信的高级用法示例
Aug 29 #Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
Aug 28 #Javascript
JS中async/await实现异步调用的方法
Aug 28 #Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 #Javascript
详解用async/await来处理异步
Aug 28 #Javascript
You might like
《PHP编程最快明白》第六讲:Mysql数据库操作
2010/11/01 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
php文件上传类完整实例
2016/05/14 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
canvas绘制七巧板
2017/02/03 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
jquery Form轻松实现文件上传
2017/05/24 jQuery
简单谈谈原生js的math对象
2017/06/27 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
2018/04/23 jQuery
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
JavaScript 异步时序问题
2020/11/20 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
python操作CouchDB的方法
2014/10/08 Python
Python测试人员需要掌握的知识
2018/02/08 Python
深入了解Django中间件及其方法
2019/07/26 Python
Windows下PyCharm2018.3.2 安装教程(图文详解)
2019/10/24 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
触摸春天教学反思
2014/02/03 职场文书
计算机专业求职信
2014/06/02 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
培训感想范文
2015/08/07 职场文书
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle