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显示随机图像或引用
Apr 21 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
Oct 20 Javascript
通过隐藏iframe实现文件下载的js方法介绍
Feb 26 Javascript
jqeury-easyui-layout问题解决方法
Mar 24 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
JavaScript实现将文本框的值插入指定位置的方法
Aug 13 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
Sep 01 Javascript
微信小程序之数据双向绑定与数据操作
May 12 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
vue.js学习之vue-cli定制脚手架详解
Jul 02 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
Nov 24 Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 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的开发框架的现状和展望
2007/03/16 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
JS实现弹性菜单效果代码
2015/09/07 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
python标准库os库的函数介绍
2020/02/12 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
创业计划书的主要内容有哪些
2014/01/29 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
安全温馨提示语大全
2015/07/14 职场文书
田径运动会广播稿
2015/08/19 职场文书
Golang: 内建容器的用法
2021/05/05 Golang
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers