前一陣做一個項目,在處理報表的時候時間偏長,客戶提出要做出一個等待窗口提示用戶等待(頁面太久沒反映,用戶還以為死了呢)。在分析這一需求之后,覺得如果要實現(xiàn)像winform應(yīng)用中的PRocessbar太困難了。最后,只好模擬,做了一個“假”的等待窗體,還好客戶也挺滿意。
這個等待窗體實際上是利用了<object>標(biāo)簽完成的。因為動態(tài)效果由<marquee>完成,該等待窗體顯示出來的時候,整個table是透明的,只有中間的過程條在動,后面的任何按鈕都不能點擊。
首先做一個靜態(tài)頁面:downloadExcel.html
<!-- .tborder { BORDER-RIGHT:#333333 2px solid; BORDER-TOP:#333333 2px solid; BORDER-LEFT:#333333 2px solid; BORDER-BOTTOM:#333333 2px solid; border-collapse:collapse; } .tborder1 { BORDER-RIGHT:#cccccc 3px solid; BORDER-BOTTOM:#cccccc 3px solid; border-collapse:collapse; } .dropShadow {filter:dropshadow(color=#a9a9a9,offx=2,offy=2,positive=true)} -->
|
然后在處理畫面中加上這么一段:
<TABLE border="0" id="processBarMask" bgcolor="#cccccc" style="VISIBILITY:hidden; POSITION: absolute" cellspacing="0" cellpadding="0"><TR><TD align="center"><object type="text/x-scr 一開始是隱藏起來的。當(dāng)點擊處理按鈕之后,就將它顯示出來: <SCRIPT language="javaScript">var firstFlg = "0";function processStart(){with(document.all.processBarMask.style){top = 0;width = "100%";height = "100%";visibility = "visible";}document.all.processBarMask.focus();}function processEnd(){document.all.processBarMask.style.visibility = "hidden";}</SCRIPT> 最后給處理按鈕加上處理: <input type="button" id="btnOK" value="OK" onclick="processStart()" style="width:80px">
新聞熱點
疑難解答