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 相关文章推荐
javascript的对话框详解与参数
Mar 08 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
JS案例分享之金额小写转大写
May 15 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
Aug 19 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
Bootstrap风格的WPF样式
Dec 07 Javascript
angularjs中ng-bind-html的用法总结
May 23 Javascript
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
JS正则表达式常见用法实例详解
Jun 19 Javascript
express+vue+mongodb+session 实现注册登录功能
Dec 06 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 Javascript
js图片无缝滚动插件使用详解
May 26 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的输出:缓存并压缩动态页面
2013/06/11 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
最简单的jQuery程序 入门者学习
2009/07/09 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
ES6 javascript中class静态方法、属性与实例属性用法示例
2017/10/30 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
Less 安装及基本用法
2018/05/05 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
为什么称python为胶水语言
2020/06/16 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
大学生创业计划书的格式要求
2013/12/29 职场文书
办公室主任职责范本
2014/03/07 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
网络营销计划
2015/01/17 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
超详细Python解释器新手安装教程
2021/05/10 Python
python数字类型和占位符详情
2022/03/13 Python