JS-----------------进度条

来源:互联网 发布:大盘指数算法 编辑:程序博客网 时间:2024/05/22 15:12

http://www.jb51.net/article/61113.htm(转载出处)

setTimeout和clearTimeou

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<html>
<head>
<title>进度条</title>
<style type="text/css"
.container{ 
   width:450px; 
   border:1px solid #6C9C2C; 
   height:25px; 
 }
#bar{ 
   background:#95CA0D; 
   float:left;
   height:100%; 
   text-align:center; 
   line-height:150%;
 
</style> 
<script type="text/javascript"
  function run(){ 
        var bar = document.getElementById("bar");
        var total = document.getElementById("total");
    bar.style.width=parseInt(bar.style.width) + 1 + "%"
    total.innerHTML = bar.style.width;
    if(bar.style.width == "100%"){ 
      window.clearTimeout(timeout);
      return;
    }
    var timeout=window.setTimeout("run()",100);
  }
    window.onload = function(){ 
       run();
    
</script>
  
</head>
<body>
  <div class="container">
   <div id="bar" style="width:0%;"></div> 
  </div> 
  <span id="total"></span>
</body>
</html>

效果图:

<html> 
<head> 
<title>进度条</title> 
<style type="text/css"
.processcontainer{ 
   width:450px; 
   border:1px solid #6C9C2C; 
   height:25px; 
 } 
#processbar{ 
   background:#95CA0D; 
   float:left;
   height:100%; 
   text-align:center; 
   line-height:150%;
 
</style> 
<script type="text/javascript"
 function setProcess(){ 
  var processbar = document.getElementById("processbar"); 
  processbar.style.width = parseInt(processbar.style.width) + 1 + "%";
  processbar.innerHTML = processbar.style.width; 
  if(processbar.style.width == "100%"){ 
     window.clearInterval(bartimer); 
  
 
var bartimer = window.setInterval(function(){setProcess();},100); 
window.onload = function(){ 
   bartimer; 
</script> 
</head> 
<body> 
  <div class="processcontainer"
   <div id="processbar" style="width:0%;"></div> 
  </div> 
</body> 
</html>

效果图:

3.setTimeout和setInterval区别

setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() ,setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭,或者让 code 自身再次调用 setTimeout()。

希望本文所述对大家的javascript程序设计有所帮助。

1.setTimeout和clearTimeout

[html] view plain copy
  1. <html>  
  2. <head>  
  3. <title>进度条</title>  
  4. <style type="text/css">   
  5. .container{   
  6.       width:450px;   
  7.       border:1px solid #6C9C2C;   
  8.       height:25px;   
  9.   }  
  10. #bar{   
  11.       background:#95CA0D;   
  12.       float:left;  
  13.       height:100%;   
  14.       text-align:center;   
  15.       line-height:150%;  
  16.   }   
  17. </style>   
  18. <script type="text/javascript">   
  19.     function run(){   
  20.                 var bar = document.getElementById("bar");  
  21.                 var total = document.getElementById("total");  
  22.         bar.style.width=parseInt(bar.style.width) + 1 + "%";   
  23.         total.innerHTML = bar.style.width;  
  24.         if(bar.style.width == "100%"){   
  25.             window.clearTimeout(timeout);  
  26.             return;  
  27.         }  
  28.         var timeout=window.setTimeout("run()",100);  
  29.     }  
  30.            
  31.        window.onload = function(){   
  32.               run();  
  33.        }   
  34. </script>  
  35.   
  36. </head>  
  37. <body>  
  38.     <div class="container">  
  39.       <div id="bar" style="width:0%;"></div>   
  40.     </div>   
  41.     <span id="total"></span>  
  42. </body>  
  43. </html>  

效果图:


2.setInterval和clearInterval

[html] view plain copy
  1. <html>   
  2. <head>   
  3. <title>进度条</title>   
  4. <style type="text/css">   
  5. .processcontainer{   
  6.       width:450px;   
  7.       border:1px solid #6C9C2C;   
  8.       height:25px;   
  9.   }   
  10. #processbar{   
  11.       background:#95CA0D;   
  12.       float:left;  
  13.       height:100%;   
  14.       text-align:center;   
  15.       line-height:150%;  
  16.   }   
  17. </style>   
  18. <script type="text/javascript">   
  19.   function setProcess(){   
  20.     var processbar = document.getElementById("processbar");   
  21.     processbar.style.width = parseInt(processbar.style.width) + 1 + "%";   
  22.     processbar.innerHTML = processbar.style.width;   
  23.     if(processbar.style.width == "100%"){   
  24.           window.clearInterval(bartimer);   
  25.     }   
  26.   }   
  27. var bartimer = window.setInterval(function(){setProcess();},100);   
  28. window.onload = function(){   
  29.      bartimer;   
  30. }   
  31. </script>   
  32. </head>   
  33. <body>   
  34.     <div class="processcontainer">    
  35.      <div id="processbar" style="width:0%;"></div>   
  36.     </div>   
  37. </body>   
  38. </html>   


效果图:


3.setTimeout和setInterval区别

    setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() ,setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭,或者让 code 自身再次调用 setTimeout()。


原创粉丝点击