利用Element UI的滑块Slider实现刻度尺
一、效果图
二、一些要点说明
①首先需要了解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实现刻度尺相关推荐
- Vue项目流程7,交易页面,提交订单,支付页面,利用element UI 以及 QRCode 完成微信支付,弹出框按钮的相关工作,个人中心以及子路由我的订单
目录 交易页面 提交订单 支付页面 微信支付 个人中心 我的订单 交易页面 1.静态组件及路由跳转 2.获取交易页数据 (1)接口 //获取用户地址信息 地址:/api/user/userAddres ...
- 利用 element ui 进度条实现渐变 条纹进度条
首先 我们看下需要完成的效果 首先可以看到是一个有白色条纹,以及一个渐变色的条纹的进度条 第一部分呢 我们可以先写出这个白色的条纹 我们可以利用以下代码实现白色条纹 .el-progress-bar_ ...
- jQuery UI应用--滑块Slider
1. Animate: 类型Boolean 默认值false a) 用处:单击滑动区域时,滑块是否使用动画效果平滑移动到单击位置. b) 代码示例: 创建实例时设 ...
- vue使用element ui实现下拉列表分页的功能!!!
" 大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂. " 前几天做了个功能,需求是使用利用element ui如何给下拉列表分页,经过网上查找,自己摸索,已经完成,今天来记录一 ...
- Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容)
Vue Element UI 表格组件 利用插槽实现按下按钮后获得本行数据(内容) 能够解决的问题 需要在表格中添加一个类似修改或编辑的按钮,按下按钮,弹出的窗口需要本行的渲染数据 需要向服务端提交一 ...
- Element UI级联选择器(Cascader)获取级联对象
Element UI Cascader官网文档 GIF 代码: getCascaderObj = function(val, opt){return val.map(function (value, ...
- element ui字段_ui备忘单下拉字段
element ui字段 重点 (Top highlight) Dropdowns get a lot of flak from the UI world – and if we are honest ...
- element ui 表单验证为正整数
很多时候都会用表单中输入正整数的情况,在element ui中可以用el-input-number 标签来显示输入框是number类型的,或者type="number"也可以的,但 ...
- 修改element ui tree 搜索功能,实现分级搜索,关键字高亮
element ui 里面的tree 自带的搜索功能是默认搜索的全部数据,有关键字的显示,没有的不显示 需求: 在element UI tree 原有功能不变的情况下新加 1)搜索 tree 时,如果 ...
最新文章
- 通过Internet与数据链路层传输信息时会发生什么?—Vecloud微云
- 56页PPT讲解电气设备的选择(高低压开关设备、互感器、母线等)
- root用户登录mysql后新建用户提示1045错误
- 返回表达式列表中最小值least(exp1,exp2,exp3,……,expn)
- 华为S5024p交换机配端口镜像
- [VB]多级目录创建函数,支持很深的目录创建。
- foreach php 多重数组,PHP的foreach与多维数组
- 「算法介绍」如何设计最安全的加密机制
- bat批处理脚本执行过程中,Windows运行窗口中出现中文乱码
- 基于VC++的MFC类库实现的简单FTP客户端
- linux网卡流量查询sar,Linux 查看实时网卡流量的方法 sar nload iftop
- 计算机C盘什么引用了,电脑老是显示c盘引用了一个不可用的位置 怎么处理
- 这样可以几分钟快速对接支付宝APP支付和手机网站支付
- (Maven+SSM)实战之spring mybatis整合
- 7 特殊毕达哥拉斯三元组
- java获取视频第一帧工具类
- 7-6 小黄与研究生会(25分)
- CAD机械零件平面绘制练习一
- 真正的爱是关掉WiFi
- 浪涌保护器(防雷器)科普知识
热门文章
- 倍福TwinCAT(贝福Beckhoff)基础教程4.2 TwinCAT如何读写CSV文件
- POE供电 5G通讯变压器 芯片
- div、p、td 的强制不换行及强制换行
- L2TP或者PPTP拨号后只能访问远端内网而无法访问Internet的原因及解决办法
- CSDN技术主题月:移动信息安全技术的挑战与创新
- 让老人用Windows Vista更方便:讲述人和放大镜
- 绿色数据中心 Green Data Proposal
- html页面如何引入表情插件,jquery动画表情插件
- 更新至2020年分省数字经济发展水平测度指标(20多个指标)
- Mysql数据库笔记分享系列--下(内附免费课设报告)