Javascript制作进度条 这篇文章将详细描述应用Javascript制作两种类型的进度条,并且将核心代码包装起来。放在percent.js
/** * 绘制简单百分比进度条 * barId 进度条span的ID * fPercent 完成的百分数 * strCaption 标题 * iHeight 高度 * iUnit 最小单位 * bgcolor 背景颜色 * border 边框样式 * cursor 光标样式 */ function SimplePercent(barId, fPercent, strCaption, iHeight, iUnit, bgcolor, border, cursor) { var pBar = document.all(barId); if (pBar) { pBar.title = strCaption + fPercent + "%"; pBar.innerHTML = ""; if (bgcolor){ pBar.style.backgroundColor = bgcolor; } if (border == null){ border = "1px solid #000000"; } pBar.style.border = border; if (cursor == null){ cursor = "default"; } pBar.style.cursor = cursor;
if (iHeight == null || iHeight < 1){ iHeight = 1; } pBar.style.height = iHeight + "px"; if (iUnit == null || iUnit < 1){ iUnit = 1; } pBar.style.width = (iUnit * 100) + "px"; pBar.insertAdjacentHTML("BeforeEnd", "<span style='width:"+(iUnit*fPercent)+"px;height:"+iHeight+"px;background-color:#0000FF;'></span>");
} } 实例: <html> <head> <title>绘制简单百分比进度条</title> </head> <body>
<span id="_PercentBar"></span>
<script language="javascript" type="text/javascript" src="percent.js">
</script> <script language="javascript" type="text/javascript"> SimplePercent("_PercentBar", 77, "安装进度",10, 5); </script> </body> </html>
/** * 百分比进度 */ var _Hex = Array("00","01","02","03","04","05","06","07","08","09","0A","0B","0C","0D","0E","0F","10","11","12","13","14","15","16","17","18","19","1A","1B","1C","1D","1E","1F","20","21","22","23","24","25","26","27","28","29","2A","2B","2C","2D","2E","2F","30","31","32","33","34","35","36","37","38","39","3A","3B","3C","3D","3E","3F","40","41","42","43","44","45","46","47","48","49","4A","4B","4C","4D","4E","4F","50","51","52","53","54","55","56","57","58","59","5A","5B","5C","5D","5E","5F","60","61","62","63","64","65","66","67","68","69","6A","6B","6C","6D","6E","6F","70","71","72","73","74","75","76","77","78","79","7A","7B","7C","7D","7E","7F","80","81","82","83","84","85","86","87","88","89","8A","8B","8C","8D","8E","8F","90","91","92","93","94","95","96","97","98","99","9A","9B","9C","9D","9E","9F","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","AA","AB","AC","AD","AE","AF","B0","B1","B2","B3","B4","B5","B6","B7","B8","B9","BA","BB","BC","BD","BE","BF","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","CA","CB","CC","CD","CE","CF","D0","D1","D2","D3","D4","D5","D6","D7","D8","D9","DA","DB","DC","DD","DE","DF","E0","E1","E2","E3","E4","E5","E6","E7","E8","E9","EA","EB","EC","ED","EE","EF","F0","F1","F2","F3","F4","F5","F6","F7","F8","F9","FA","FB","FC","FD","FE","FF");
/** * 绘制渐变百分比进度条 * barId 进度条span的ID * fPercent 完成的百分数 * strCaption 标题 * bDouble 100 or 200单位 * iUnit 最小单位 * bgcolor 背景颜色 * border 边框样式 * cursor 光标样式 */ function PaintPercent(barId, fPercent, strCaption, bDouble, iHeight, iUnit, bgcolor, border, cursor) { var pBar = document.all(barId); if (pBar) { pBar.title = strCaption + fPercent + "%"; pBar.innerHTML = ""; if (bgcolor){ pBar.style.backgroundColor = bgcolor; } if (border == null){ border = "1px solid #000000"; } pBar.style.border = border; if (cursor == null){ cursor = "default"; } pBar.style.cursor = cursor;
if (iHeight == null || iHeight < 1){ iHeight = 1; } pBar.style.height = iHeight + "px"; if (iUnit == null || iUnit < 1){ iUnit = 1; } if (bDouble){ bDouble = 2; } else{ bDouble = 1; }
pBar.style.width = (iUnit * bDouble * 100) + "px"; pBar.style.whiteSpace = "nowrap";
for(var idx = 0; idx < bDouble* 100; idx ++){ if (idx < fPercent*bDouble){ pBar.insertAdjacentHTML("BeforeEnd", "<span style='width:"+iUnit+"px;height:"+iHeight+"px;background-color:#00"+_Hex[256-idx]+"FF;'></span>"); }else{ pBar.insertAdjacentHTML("BeforeEnd", "<span style='width:"+iUnit+"px;height:"+iHeight+"px'></span>"); } } } } 实例: <html> <head> <title>绘制渐变百分比进度条</title> </head> <body>
<table> <tr> <td> <span id="_PercentBar"></span> </td> </tr> </table>
<script language="javascript" type="text/javascript" src="percent.js">
</script> <script language="javascript" type="text/javascript"> PaintPercent("_PercentBar", 89, "安装进度",true,18); </script> </body> </html> 
|