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 相关文章推荐
jQuery select控制插件
Aug 17 Javascript
Extjs中ComboBox加载并赋初值的实现方法
Mar 22 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
Jan 28 Javascript
谈谈JavaScript的New关键字
Aug 26 Javascript
javascript入门之window对象【新手必看】
Nov 22 Javascript
JS三目运算(三元运算)方法详解
Mar 01 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
微信小程序实现发红包功能
Jul 11 Javascript
使用JavaScript获取Django模板指定键值数据
May 27 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
Oct 29 Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
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
微信公众号开发之通过接口删除菜单
2017/02/20 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
用js做一个小游戏平台 (一)
2009/12/29 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
javascript生成大小写字母
2015/07/03 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
2015/11/24 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
2017/08/14 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Python的Django框架下管理站点的基本方法
2015/07/17 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
python binascii 进制转换实例
2019/06/12 Python
Python 寻找局部最高点的实现
2019/12/05 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
Python实现扫码工具的示例代码
2020/10/09 Python
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
资源环境与城市管理专业推荐信
2013/11/30 职场文书
全运会口号
2014/06/20 职场文书
购房个人委托书范本
2014/10/11 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
委托书的样本
2015/01/28 职场文书
行政助理岗位职责范本
2015/04/11 职场文书
药品开票员岗位职责
2015/04/15 职场文书
golang判断key是否在map中的代码
2021/04/24 Golang