您的位置:首页 > Web前端 > JavaScript

一个js写的漂亮的进度条

2007-04-13 15:35 302 查看
<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"> </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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: