php+js进度条

<?php  
set_time_limit(0);  
$width   =   500;       //显示的进度条长度,单位   px  
$total   =   1000;   //显示的步骤数,可以用数据库中实际取得的数组数代替  
$pix   =   $width   /   $total;   //每条记录的操作所占的进度条单位长度  
$progress   =   0;     //当前进度条长度  
?>  
<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">  
<html>  
<head>  
<title>动态显示服务器运行程序的进度条</title>  
<meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312"   />  
<style>  
body,   div   input   {   font-family:   Tahoma;   font-size:   9pt   }  
</style>  
<script   language="JavaScript">  
<!--  
function   updateProgress(sMsg,   iWidth)  
{    
document.getElementById("status").innerHTML   =   sMsg;  
document.getElementById("progress").style.width   =   iWidth   +   "px";  
document.getElementById("percent").innerHTML   =   parseInt(iWidth   /   <?php   echo   $width;   ?>   *   100)   +   "%";  
}  
//-->  
</script>          
</head>  

<body>  
<div   style="margin:   4px;   padding:   8px;   border:   1px   solid   gray;   background:   #EAEAEA;   width:   <?php   echo   $width+8;   ?>px">  
<div><font   color="gray">如下进度条的动态效果由服务器端   PHP   程序结合客户端   JavaScript   程序生成。</font></div>  
<div   style="padding:   0;   background-color:   white;   border:   1px   solid   navy;   width:   <?php   echo   $width;   ?>px">  
<div   id="progress"   style="padding:   0;   background-color:   #FFCC66;   border:   0;   width:   0px;   text-align:   center;     height:   16px"></div>                          
</div>  
<div   id="status">&nbsp;</div>  
<div   id="percent"   style="position:   relative;   top:   -30px;   text-align:   center;   font-weight:   bold;   font-size:   8pt">0%</div>  
</div>  
<?php  
flush();         //将输出发送给客户端浏览器  
for   ($j=0;$j<$total;$j++){  
//     在此处使用空循环模拟较为耗时的操作,实际应用中需将其替换;  
for   ($i   =   0;   $i   <   100000;   $i++)   {    
;;  
}  
?>  
<script   language="JavaScript">  
updateProgress("正在操作第<?php   echo   $j;   ?>条数据,请稍候....",   <?php   echo   min($width,   intval($progress));   ?>);  
</script>  
<?php  
flush();         //将输出发送给客户端浏览器,使其可以立即执行服务器端输出的   JavaScript   程序。  
$progress   +=   $pix;          
}       //end   foreach  
//     最后将进度条设置成最大值   $width,同时显示操作完成  
?>  
<script   language="JavaScript">  
updateProgress("操作完成!",   <?php   echo   $width;   ?>);  
</script>  
<?php  
flush();  
?>  
</body>  
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值