-z-

     与上一篇关于进度条的文章不同的是,上一篇文章进度条实现功能的应用主要在于ASP.NET页面在打开时,设置进度条控制页面后台数据的加载过程,以前台进度条控件的显示为目的的。这篇文章,是我针对上述功能进行的修改,主要实现了前台页面,数据加载时,进度条的显示控制。主要应用于当前台js脚本需要大量计算数据时,提供进度条显示控制。

     代码主要在页面前台脚本块的实现。如下:

     进度条控件:

>

 

 

     加载按钮:

>

     脚本代码:

 

 

 SetPorgressBar(pos)
            {
                //alert(pos);
                //设置进度条居中
                var screenHeight = window["mainWindow"].offsetHeight;
                
var screenWidth = window["mainWindow"].offsetWidth;
                ProgressBarSide.style.width 
= Math.round(screenWidth / 2);
                
//ProgressBarSide.style.left = Math.round(screenWidth / 4);
                //ProgressBarSide.style.top = Math.round(screenHeight / 2);
                //ProgressBarSide.style.height = "21px";
                ProgressBarSide.style.display = "inline";
                    
                
//设置进度条百分比                       
                ProgressBar.style.width = pos + "%";
                ProgressText.innerHTML 
= pos + "%";
            }
            
var i=1;
            
function loadData()
            {
                SetPorgressBar(i);
                i
++;    
                
if(i<=100)
                {
                    setTimeout(
"loadData()",50);
                }
                
else    //完成加载之后,隐藏进度条
                {
                    
                    i
=1;    //加载完成后,需要重新将计数器初始化,以便于可以再次加载
                    ProgressText.innerText = "加载完成!";
                }
                
            }
            
            
function finishProgress()
            {
                ProgressBarSide.style.display 
= "none";
            }

     基本功能代码都在这里,单击按钮可以实现进度条的显示控制。现在一直有个问题:如何根据后台读取数据,实现前台进度条控件的显示功能呢!我试验了一个方法,但在后台为ProgressBar设置加载比例和百分比值时,后台是作为一个线程来处理的,不能实现前台进度条控件的逐步显示。不知哪位仁兄提供一些解决方案!

     

 

 

相关文章: