原生js怎么实现的移动端可拖动进度条插件功能

  介绍

小编给大家分享一下原生js怎么实现的移动端可拖动进度条插件功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

具体如下:

该插件最初的想法来自网上的一篇文章,直达链接://www.jb51.net/article/167717.htm

笔者因为业务需要寻找到这个插件,然后拿来用之,发现各种不方便,然后便开始了改造之路。

上代码:

& lt; script>   ,,,function  dragSlide (id), {   ,,,,,this.minDiv =. getelementbyid (id);,//小方块,   ,,,,,this.width =,方法(window.getComputedStyle (this.minDiv, null) .width);,//小方块的宽度   ,,,,,this.lineDiv =, this.minDiv.parentNode;,//长线条   ,,,,,//滑动的数值呈现   ,,,,,this.vals =, this.minDiv.children [0];   ,,,,,var 这=;   ,,,,,var  move =,函数(e), {   ,,,,,,,var  x =, e.touches [0] .pageX;   ,,,,,,,var  lineDiv_left =, that.getPosition (that.lineDiv) .left;,//长线条的横坐标   ,,,,,,,var  minDiv_left =, x 作用;lineDiv_left;,//小方块相对于父元素(长线条)的左值   ,,,,,,,if  (minDiv_left 祝辞=,that.lineDiv.offsetWidth 作用;that.width), {   ,,,,,,,,,minDiv_left =, that.lineDiv.offsetWidth 作用;that.width;   ,,,,,,,}   ,,,,,,,if  (minDiv_left  & lt; 0,), {   ,,,,,,,,,minDiv_left =, 0;   ,,,,,,,}   ,,,,,,,//设置拖动后小方块的左值   ,,,,,,,that.minDiv.style.left =, minDiv_left  +,“px";   ,,,,,,,//百分百分比改为如下所示,解决开始和最后滑动的体验不好问题   ,,,,,,,var  percent =,(时间/minDiv_left  (that.lineDiv.offsetWidth 作用;that.width)), *, 100;   ,,,,,,,if  (0, percent 的在,,,,,percent  & lt;, 0.5), {   ,,,,,,,,,percent =, Math.ceil(百分比);   ,,,,,,,},{else    ,,,,,,,,,percent =, Math.floor(百分比);   ,,,,,,,}   ,,,,,,,that.vals.innerText =,百分比;   ,,,,,}   ,,,,,//获取元素的绝对位置,工具函数   ,,,,,this.getPosition =,函数(节点),{   ,,,,,,,var  left =, node.offsetLeft;,//获取元素相对于其父元素的左值var 离开   ,,,,,,,var  top =, node.offsetTop;   ,,,,,,,current =, node.offsetParent;,//,取得元素的offsetParent   ,,,,,,,,//一直循环直到根元素   ,,,,,,,   ,,,,,,,while  (current  !=, null), {   ,,,,,,,,,left  +=, current.offsetLeft;   ,,,,,,,,,top  +=, current.offsetTop;   ,,,,,,,,,current =, current.offsetParent;   ,,,,,,,}   ,,,,,,,return  {   ,,,,,,,,,“left":,,   ,,,,,,,,,“top":最高   ,,,,,,,};   ,,,,,}   ,,,,,this.minDiv.addEventListener (“touchmove",移动);   ,,,}   ,,,var  drag0 =, new  dragSlide (“minDiv");   ,,,var  drag1 =, new  dragSlide (“minDiv1");   ,,,//取消移动端手势长按弹出提示框的操作   ,,,document.addEventListener(& # 39;快捷菜单# 39;,,函数(e), {   ,,,,,e.preventDefault ();   ,,,});   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

原生js怎么实现的移动端可拖动进度条插件功能