用原生TypeScript造轮子(五) 滑块Slider

ui参考primeNG: http://primefaces.org/primeng...
ts开发环境: https://github.com/lycHub/ts-...
目录

简介

仿造我以前用vue封装的iv-slider, 实现了其横向的一些功能:
本节demo源码
已实现的功能:vue

  • 支持移动端
  • 单/双滑块
  • 设置步长
  • 显示断点
  • 自定义事件

基本思路

先看dom,在鼠标滑动时,单滑块只要不断改变left值和蓝色条的width便可,双滑块还须要另外设置蓝色调的leftgit

clipboard.png

滑块移动的位置和当前值有一个比例关系:
(当前值 / 数值范围) = (鼠标当前位置 - 鼠标起始位置) / slider总长度
其中数值范围是用户设置的max - min,默认100 - 0。github

我这里是在求出当前值后再换算成dom值,滑块的left用的是百分比。segmentfault

clipboard.png

其它功能如刻度,垂直,tooltip等能够参考iv-sliderdom

相关文章
相关标签/搜索