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 相关文章推荐
跨浏览器的设置innerHTML方法
Sep 18 Javascript
js实现点击切换TAB标签实例
Aug 21 Javascript
jQuery购物车插件jsorder用法(支持后台处理程序直接转换成DataTable处理)
Jun 08 Javascript
Vue.js 和 MVVM 的注意事项
Nov 07 Javascript
Node.js的特点详解
Feb 03 Javascript
ionic2 tabs 图标自定义实例
Mar 08 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
May 17 jQuery
微信小程序 同步请求授权的详解
Aug 04 Javascript
vue.js,ajax渲染页面的实例
Feb 11 Javascript
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
JavaScript ES6箭头函数使用指南
Dec 30 Javascript
封装一下vue中的axios示例代码详解
Feb 16 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
Yii中创建自己的Widget实例
2016/01/05 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
js倒计时显示实例
2016/12/11 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
nodeJS微信分享
2017/12/20 NodeJs
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
2018/04/25 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
支付宝小程序tabbar底部导航
2018/11/06 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
python实现ping命令小程序
2020/12/28 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
主管职责范文
2013/11/09 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android