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

JavaScript 进度条实现代码(Firefox等相似浏览器下不支持)

2009-07-21 00:00 756 查看
 
<script type="text/javascript"> 
var loading = { 
element: null, 
count: 0, 
ID: 0, 
createLoading: function(parent, width, height){ //用于生成外围的进度条框 
loading.element = document.createElement("div"); 
loading.element.id = "loading"; 
loading.element.className = "loading"; 
loading.element.style.height = height; 
loading.element.style.backgroundColor = "#ffffff"; 
loading.element.style.border = "1px solid #333333"; 
loading.element.style.width = width; 
parent.appendChild(loading.element); 
loading.interval(); 
}, 
addSubDIV: function(){ //用setInterval添加外围框内的div标签实现进度效果 
//如果达到外围框的宽度,则重新显示进度 
if ((loading.count + 1) * 2 >= parseInt(loading.element.style.width)) { 
loading.count = 0; 
clearInterval(loading.ID); 
loading.element.innerHTML = ""; 
loading.interval(); 
} 
else { 
var elem = document.createElement("div"); 
elem.className= sub-loading ; 
elem.style.backgroundColor = "#f00"; 
elem.style.width = "2px"; 
elem.style.height = loading.element.style.height; 
elem.style.display="inline"; 
loading.element.appendChild(elem); 
loading.count++; 
} 
}, 
interval: function(){ //反复调用 
loading.ID = setInterval(loading.addSubDIV, 30); 
} 
} 
onload = function(){ 
loading.createLoading(document.getElementById("parent"), "402px", "15px"); 
} 
</script>


运行演示代码:


JavaScript Data Access Test


var loading = {
element: null,
count: 0,
ID: 0,
createLoading: function(parent, width, height){
loading.element = document.createElement("div");
loading.element.id = "loading";
loading.element.className = "loading";
loading.element.style.height = height;
loading.element.style.backgroundColor = "#ffffff";
loading.element.style.border = "1px solid #333333";
loading.element.style.width = width;
parent.appendChild(loading.element);
//code from jb51.net
loading.interval();
},
addSubDIV: function(){
if ((loading.count + 1) * 2 >= parseInt(loading.element.style.width)) {
loading.count = 0;
clearInterval(loading.ID);
loading.element.innerHTML = "";
loading.interval();
}
else {
var elem = document.createElement("div");
elem.className='sub-loading';
elem.style.backgroundColor = "#f00";
elem.style.width = "2px";
elem.style.height = loading.element.style.height;
elem.style.display="inline";
loading.element.appendChild(elem);
loading.count++;
}
},
interval: function(){
loading.ID = setInterval(loading.addSubDIV, 30);
}
}
onload = function(){
loading.createLoading(document.getElementById("parent"), "402px", "15px");
}


.sub-loading {
DISPLAY: inline
}





[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: