一、效果图

二、一些要点说明
①首先需要了解slider的一些参数,尤其需要利用marks来实现刻度:

②实现marks的方法需要用到this.$createElement,所以也需要了解它的写法:this.$createElement()方法
③需要改变slider的一些css以实现刻度尺效果:

三、实现过程
①安装element ui:element ui的安装使用步骤
②在要使用刻度尺的地方添加:

<el-slider class="self_slider" v-model="count" :max="countMax" :min="countMin" :marks="guideMarks(countMin, countMax)" :show-tooltip="false" show-input></el-slider>

③在data中定义相关变量:

count: 0,
countMin: 0,
countMax: 70

④实现guideMarks()方法:

    guideMarks (min, max) {const marks = {}for (let i = 0; i <= 160; i++) {if ((i === min && i % 10 !== 0 && i > 9) || (i === max && i % 10 !== 0 && i > 9)) {marks[i] = {style: {color: '#000'},label: this.$createElement('div', { class: 'marks' }, [this.$createElement('div', '|'),this.$createElement('div', { class: 'marks-line' }, '|'),this.$createElement('div', { class: 'marks-line2' }, '|'),this.$createElement('div', { class: 'marks-value' }, i)])}} else if ((i === min && i % 10 !== 0 && i < 9) || (i === max && i % 10 !== 0 && i < 9)) {marks[i] = {style: {color: '#000'},label: this.$createElement('div', { class: 'marks' }, [this.$createElement('div', '|'),this.$createElement('div', { class: 'marks-line' }, '|'),this.$createElement('div', { class: 'marks-line2' }, '|'),this.$createElement('div', { class: 'marks-value0' }, i)])}} else if (i % 10 === 0) {// marks[i] = i + ''if (i === 0) {marks[i] = {style: {color: '#000'},label: this.$createElement('div', { class: 'marks' }, [this.$createElement('div', '|'),this.$createElement('div', { class: 'marks-line' }, '|'),this.$createElement('div', { class: 'marks-line2' }, '|'),this.$createElement('div', { class: 'marks-value0' }, i)])}} else {marks[i] = {style: {color: '#000'},label: this.$createElement('div', { class: 'marks' }, [this.$createElement('div', '|'),this.$createElement('div', { class: 'marks-line' }, '|'),this.$createElement('div', { class: 'marks-line2' }, '|'),this.$createElement('div', { class: 'marks-value' }, i)])}}} else if (i % 1 === 0) {marks[i] = {style: {color: '#ccc'},// label: this.$createElement('span', '|')label: this.$createElement('div', { class: 'marks' }, [this.$createElement('div', '|'),this.$createElement('div', { class: 'marks-line' }, '|')])}}}return marks}

⑤相关css:

<style scoped lang="css">
.self_slider {width: 90%;margin: 20px auto 0;height: 90px;
}
.el-slider__marks-text span {display: inline-block;height: 17px !important;overflow: hidden;
}
.marks {text-align: center;position: relative;
}
.marks-line {position: absolute;top: -12px;
}
.marks-line2 {position: absolute;top: -24px;
}
.marks-value {position: absolute;top: -40px;right: -7px;
}
.marks-value0 {position: absolute;top: -40px;right: -2px;
}
</style>
<style>
.el-slider__runway {height: 0px;
}
.el-slider__bar {height: 0px;
}
.el-slider__button-wrapper {top: 22px;
}
.el-slider__button {border: none;background-color: transparent;
}
.el-slider__button::after, .el-slider__button.dragging::after {content: "";display: block;position: absolute;width: 0;height: 0;border: 6px solid transparent;border-bottom-color: #FF9901;top: 3px;left: 12px;
}
.el-slider__button-wrapper .el-tooltip, .el-slider__button-wrapper::after {display: block;
}
.el-slider__button.hover, .el-slider__button.dragging {transform: scale(1.0);
}
.el-slider__input {margin-top: 3px;width: 50%;position: absolute;right: 25%;top: 170px;
}
.el-slider__runway.show-input {margin-right: 0;width: auto;
}
</style>

利用Element UI的滑块Slider实现刻度尺相关推荐

  1. Vue项目流程7,交易页面,提交订单,支付页面,利用element UI 以及 QRCode 完成微信支付,弹出框按钮的相关工作,个人中心以及子路由我的订单

    目录 交易页面 提交订单 支付页面 微信支付 个人中心 我的订单 交易页面 1.静态组件及路由跳转 2.获取交易页数据 (1)接口 //获取用户地址信息 地址:/api/user/userAddres ...

  2. 利用 element ui 进度条实现渐变 条纹进度条

    首先 我们看下需要完成的效果 首先可以看到是一个有白色条纹,以及一个渐变色的条纹的进度条 第一部分呢 我们可以先写出这个白色的条纹 我们可以利用以下代码实现白色条纹 .el-progress-bar_ ...

  3. jQuery UI应用--滑块Slider

    1.            Animate: 类型Boolean 默认值false a)     用处:单击滑动区域时,滑块是否使用动画效果平滑移动到单击位置. b)     代码示例: 创建实例时设 ...

  4. vue使用element ui实现下拉列表分页的功能!!!

    " 大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂. " 前几天做了个功能,需求是使用利用element ui如何给下拉列表分页,经过网上查找,自己摸索,已经完成,今天来记录一 ...

  5. Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容)

    Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容) 能够解决的问题 需要在表格中添加一个类似修改或编辑的按钮,按下按钮,弹出的窗口需要本行的渲染数据 需要向服务端提交一 ...

  6. Element UI级联选择器(Cascader)获取级联对象

    Element UI Cascader官网文档 GIF 代码: getCascaderObj = function(val, opt){return val.map(function (value, ...

  7. element ui字段_ui备忘单下拉字段

    element ui字段 重点 (Top highlight) Dropdowns get a lot of flak from the UI world – and if we are honest ...

  8. element ui 表单验证为正整数

    很多时候都会用表单中输入正整数的情况,在element ui中可以用el-input-number 标签来显示输入框是number类型的,或者type="number"也可以的,但 ...

  9. 修改element ui tree 搜索功能,实现分级搜索,关键字高亮

    element ui 里面的tree 自带的搜索功能是默认搜索的全部数据,有关键字的显示,没有的不显示 需求: 在element UI tree 原有功能不变的情况下新加 1)搜索 tree 时,如果 ...

最新文章

  1. 通过Internet与数据链路层传输信息时会发生什么?—Vecloud微云
  2. 56页PPT讲解电气设备的选择(高低压开关设备、互感器、母线等)
  3. root用户登录mysql后新建用户提示1045错误
  4. 返回表达式列表中最小值least(exp1,exp2,exp3,……,expn)
  5. 华为S5024p交换机配端口镜像
  6. [VB]多级目录创建函数,支持很深的目录创建。
  7. foreach php 多重数组,PHP的foreach与多维数组
  8. 「算法介绍」如何设计最安全的加密机制
  9. bat批处理脚本执行过程中,Windows运行窗口中出现中文乱码
  10. 基于VC++的MFC类库实现的简单FTP客户端
  11. linux网卡流量查询sar,Linux 查看实时网卡流量的方法 sar nload iftop
  12. 计算机C盘什么引用了,电脑老是显示c盘引用了一个不可用的位置 怎么处理
  13. 这样可以几分钟快速对接支付宝APP支付和手机网站支付
  14. (Maven+SSM)实战之spring mybatis整合
  15. 7 特殊毕达哥拉斯三元组
  16. java获取视频第一帧工具类
  17. 7-6 小黄与研究生会(25分)
  18. CAD机械零件平面绘制练习一
  19. 真正的爱是关掉WiFi
  20. 浪涌保护器(防雷器)科普知识

热门文章

  1. 倍福TwinCAT(贝福Beckhoff)基础教程4.2 TwinCAT如何读写CSV文件
  2. POE供电 5G通讯变压器 芯片
  3. div、p、td 的强制不换行及强制换行
  4. L2TP或者PPTP拨号后只能访问远端内网而无法访问Internet的原因及解决办法
  5. CSDN技术主题月:移动信息安全技术的挑战与创新
  6. 让老人用Windows Vista更方便:讲述人和放大镜
  7. 绿色数据中心 Green Data Proposal
  8. html页面如何引入表情插件,jquery动画表情插件
  9. 更新至2020年分省数字经济发展水平测度指标(20多个指标)
  10. Mysql数据库笔记分享系列--下(内附免费课设报告)