JavaScript实现可拖拽的进度条

论坛 期权论坛 脚本     
niminba   2021-5-23 02:40   1810   0

本文实例为大家分享了JavaScript实现可拖拽的进度条的具体代码,供大家参考,具体内容如下

一.进度条实现

<html>
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta charset="UTF-8">
<title>可拖拽进度条</title>
<style>
body{
 margin:50px; ; 
}

.box {
  width:49%;
  hegiht:3rem;
  line-height:3rem;
  float:left;
}
.boxDesc {
  width:50%;
  hegiht:3rem;
  line-height:0.3rem;
  float:left;
}

.scale span{
 background:url(scroll.gif) no-repeat; 
 width:8px;
 height:16px; 
 position:absolute; 
 left:-2px;
 top:-5px;
 cursor:pointer;
}
.scale{ background-repeat: repeat-x; background-position: 0 100%; background-color: #E4E4E4; border-left: 1px #83BBD9 solid;  width: 100%; height: 10px; position: relative; font-size: 0px; border-radius: 3px; }
.scale div{ background-repeat: repeat-x; background-color: green;  position: absolute; height: 10px; left: 0; bottom: 0; }
li{
 font-size:12px;
 line-height:50px;
 position:relative; 
 height:50px; 
 list-style:none;
}
</style>
</head>
<body>
<ul style='width:100%;margin-top:15rem;'>
 <li>
    <div class = 'box'>
  <div class="scale" id="bar">
   <div></div>
   <span id="btn"></span>
  </div> 
    </div>
  <div class='boxDesc'>
  <span id="title">0</span>
  </div>
 </li>

</ul>
</body>
<script>
scale=function (btn,bar,title){
 this.btn=document.getElementById(btn);
 this.bar=document.getElementById(bar);
 this.title=document.getElementById(title);
 this.step=this.bar.getElementsByTagName("DIV")[0];
 this.init();
};
scale.prototype={
 init:function (){
  var f=this,g=document,b=window,m=Math;
  f.btn.onmousedown=function (e){
   var x=(e||b.event).clientX;
   var l=this.offsetLeft;
   var max=f.bar.offsetWidth-this.offsetWidth;
   g.onmousemove=function (e){
    var thisX=(e||b.event).clientX;
    var to=m.min(max,m.max(-2,l+(thisX-x)));
    f.btn.style.left=to+'px';
    f.ondrag(m.round(m.max(0,to/max)*100),to);
    b.getSelection ? b.getSelection().removeAllRanges() : g.selection.empty();
   };
   g.onmouseup=new Function('this.οnmοusemοve=null');
  };
 },
 ondrag:function (pos,x){
  this.step.style.width=Math.max(0,x)+'px';
  this.title.innerHTML=pos+'%';
 }
}
new scale('btn','bar','title');
</script>
</html>

二.实现效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持社区。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP