進度條

  1. <!DOCTYPE>  
  2. <html>  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  5.     <title>進度條事件</title>  
  6.     <style type="text/css" media="screen">  
  7.         *{margin:0; padding: 0;}  
  8.         .f-wrap{margin:100px auto; width: 1000px;}  
  9.         p{ line-height: 24px; padding: 10px 0;}  
  10.         .s-gray{color:#999;}  
  11.         #progressBar{width:800px; height:25px; border:1px solid #ddd; background-color: #fff; position: relative; }  
  12.         #progressBar #bar,#progressBar #text{ position:absolute; top:0; left: 0; z-index: 1; width:100%; font-weight: bold; font-family:georgia; font-size: 16px; text-align: center; height:25px; line-height:25px;}  
  13.         #progressBar #bar{z-index:2; background-color:blue; color:#fff; clip:rect(0px,0,25px,0);}  
  14.     </style>  
  15. </head>  
  16. <body>  
  17.     <div class="f-wrap">  
  18.         <div id="progressBar">  
  19.             <div id="bar">0%</div>  
  20.             <div id="text">0%</div>  
  21.         </div>  
  22.         <div class="s-gray">  
  23.             <p>clip是css2中的一個樣式</p>  
  24.             <ol>  
  25.                 <li>硬編碼:寫死</li>  
  26.                 <li>跟flash配合,as3</li>  
  27.                 <li>html5 : xhr2 :onprogress onload</li>  
  28.                 <li>跟後臺的配合,ajax實時返回(cent)</li>  
  29.             </ol>  
  30.         </div>  
  31.     </div>  
  32.     <script>  
  33.      window.onload = function(){  
  34.         var iProgress = 0;  
  35.         var timer = null;  
  36.         timer = setInterval(function(){  
  37.             if(iProgress == 100){  
  38.                  clearInterval(timer);  
  39.             }else{  
  40.                 iProgress+=5;  
  41.                 progressFn(iProgress);  
  42.             }  
  43.         },100);  
  44.           
  45.   
  46.         // 封裝成一個函數  
  47.         function progressFn(cent){  
  48.               var oDiv1 = document.getElementById('progressBar');  
  49.               var oDiv2 = document.getElementById('bar');  
  50.               var oDiv3 = document.getElementById('text');  
  51.                 
  52.               var objW = parseInt(getStyle(oDiv1,'width'));  
  53.   
  54.               oDiv2.innerHTML = cent + '%';  
  55.               oDiv3.innerHTML = cent + '%';  
  56.               oDiv2.style.clip = 'rect(0px, '+ cent/100 * objW +'px, 25px, 0)';  
  57.   
  58.               // 獲取樣式值  
  59.               function getStyle(obj,attr){  
  60.                   if(obj.currentStyle){  
  61.                       return obj.currentStyle[attr];  
  62.                   }else{  
  63.                       return getComputedStyle(obj,false)[attr];  
  64.                   }  
  65.               }  
  66.         }  
  67.      }  
  68.     </script>  
  69. </body>  
  70. </html> 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章