现在的位置: 首页 > 综合 > 正文

一个部分封装的漂亮进度条

2013年12月05日 ⁄ 综合 ⁄ 共 1751字 ⁄ 字号 评论关闭

<div style="background: url('http://screenprint2007.cpp114.com/UserFiles/20070412155452218.gif') no-repeat;text-align:center;width:256px;height:18px;position:absolute;top:110;left:10;font-size:13px">
<div id="proc" style="background: url('http://screenprint2007.cpp114.com/UserFiles/20070412155424937.gif');position:absolute;top:0;left:0;width:0px;height:18px;font-size:13px"></div>
<div style="position:absolute;top:2;left:0;width:256px;height:18px;text-align:center;font-size:13px;background:transparent">&nbsp;</div>
</div>
<br><br><br><br><br><br>
<input type="button" value="start" onclick="processBar.changeMode();if(processBar.isMoving){this.value='Stop';}else{this.value='Start';}">
<script>
document.execCommand("BackgroundImageCache",false,true);
function ProcessBar(obj){
   this.isMoving = false;
   this.maxLength = parseInt(obj.parentNode.style.width.replace("px",""));
   this.nowLength = parseInt(obj.style.width.replace("px",""));
   this.moveInterval = 100;
   this.moveRange = 1;
   this.timer;
   this.obj = obj;

   ProcessBar.nowObj = this;

   this.changeMode = function(){
  this.isMoving = !this.isMoving;
  
  if(this.isMoving){
   this.timer = window.setInterval(ProcessBar.nowObj.moving, this.moveInterval);
  }else{
   window.clearInterval(this.timer);
  }
   }

   this.moving = function(){
        ProcessBar.nowObj.nowLength += ProcessBar.nowObj.moveRange;
  ProcessBar.nowObj.obj.style.width = ProcessBar.nowObj.nowLength;

  ProcessBar.nowObj.obj.parentNode.lastChild.firstChild.data = Math.ceil((ProcessBar.nowObj.nowLength/ProcessBar.nowObj.maxLength)*100) + "%";

  if(ProcessBar.nowObj.nowLength >= ProcessBar.nowObj.maxLength){
   window.clearInterval(ProcessBar.nowObj.timer);
   ProcessBar.nowObj.obj.parentNode.lastChild.firstChild.data = "Complete!";
  }
   }

  
}

var processBar = new ProcessBar(proc);

</script> 

抱歉!评论已关闭.