天天看點

javascript 實作頁面局部重新整理

初衷是想在一個頁面中,隻有一小部分需要每隔5秒重新整理一次,實作的功能就是每隔5秒讀取一個日志,來擷取最新的資訊。

在php中,重新整理整個頁面的方法有很多,但局部重新整理貌似不大可能(如果這個觀點有誤,請高手指正)。于是想到了用javascript局部重新整理,再調用php的方法。

實作過程如下:

首先是javascript腳本:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
  2. <HTML> 
  3.  <HEAD> 
  4.   <TITLE> Test </TITLE> 
  5.   <META NAME="Generator" CONTENT="EditPlus"> 
  6.  </HEAD> 
  7. <div id="place"> 
  8.       abcde  
  9. </div> 
  10. <script> 
  11. var userName;     
  12.     var passWord;     
  13.     var xmlHttpRequest;     
  14.     //XmlHttpRequest對象     
  15.   function createXmlHttpRequest(){     
  16.         if(window.ActiveXObject){ //如果是IE  
  17.             return new ActiveXObject("Microsoft.XMLHTTP");     
  18.         }else if(window.XMLHttpRequest){ //非IE浏覽器     
  19.             return new XMLHttpRequest();     
  20.         }     
  21.     }     
  22.     function onLogin(){     
  23.         var url ="http://localhost/sns/js_php.php";  
  24.         //1.建立XMLHttpRequest組建     
  25.         xmlHttpRequest = createXmlHttpRequest();     
  26.         //2.設定回調函數     
  27.         xmlHttpRequest.onreadystatechange = HuiDiaoFun;     
  28.         //3.初始化XMLHttpRequest組建     
  29.         xmlHttpRequest.open("post",url,true);     
  30.         //4.發送請求     
  31.         xmlHttpRequest.send(null);       
  32.     }          
  33.     //回調函數     
  34.     function HuiDiaoFun(){     
  35.         if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){  
  36.             var b = xmlHttpRequest.responseText;  
  37.             //alert(b);  
  38.             document.getElementById("place").innerHTML = b;  
  39.             return b;  
  40.         }     
  41.     }    
  42. var i=1;  
  43. function changeImg(){  
  44.      createXmlHttpRequest();  
  45.      onLogin();  
  46.      var b = HuiDiaoFun();  
  47.     //document.getElementById("tabs").style.background="url('pil"+i+".jpg')";  
  48.     i++;  
  49.     if(i>5){  
  50.     i=1;  
  51.     }  
  52.     setTimeout("changeImg();","5000");  
  53. }  
  54. </script> 
  55. <BODY onLoad="changeImg();"> 
  56.  <table style="background:url('pil1.jpg')" width="600" height="400" id="tabs"> 
  57. <tr> 
  58. <td></td> 
  59. </tr> 
  60.  </table> 
  61. </BODY> 
  62. </HTML> 

繼續閱讀