自制slider滑杆
效果图

HTML结构
1 | <div id="d2"> |
第一个div是轨道,第二个是填充物,第三个是滑块
CSS样式
1 | #out {/* 滑块轨道 */ |
JS代码
如图所示,将out设置为参考项,有两种情况:
- 点击out框的任何部位,滑块自动划过去并且filling填满滑块后面的地区
- 滑动滑块调节
原理很简单:以out为参照,当点击out的任意部分时,将InnerImg的坐标更新到鼠标点击部位,将filling的width设置成鼠标点击部位与out左边框的距离,就可以到效果。
步骤:
先获取页面元素:
1 | var innerpro = document.getElementById('innerimg') |
添加out的点击事件:
1 | /** |
当鼠标在out内点击时,获取鼠标位置,设置filling宽度和内部滑块innerimg的left
1 | function fillingClick (event) { |
c). 添加移动滑块innerimg的事件
1 | function dvnamicprogress () { |
当鼠标按下时给innerimg添加一个onmousemove事件,不断更新位置
1 | function sliderMove (event) { |
当鼠标按键弹起时,清除所有事件:
1 | function clear () { |
