天天看點

Ajax實作無重新整理導航

Ajax實作無重新整理導航

     我們知道,常見的導航一般就是  <a href="index.php" target="_blank" rel="external nofollow" >首頁</a>  這樣的,點選标簽就轉到下一個頁面。最近在學習Ajax,于是就想到做一個無重新整理的導航來練習一下,操作如下:

     建立一個index.html,代碼:

<html>

<head>

<title>Yizero Ajax learning</title>

<meta http-equiv="content-type" content="text/html;charset = utf-8"/>

<mce:script type="text/javascript"><!--

var http_request = false; //執行個體化一個xmlhttp對象,由于IE和其他浏覽器的差異,需要先判斷使用者的浏覽器再去執行相應的執行個體化操作

if (window.XMLHttpRequest) { // Mozilla, Safari,...

http_request = new XMLHttpRequest();

if (http_request.overrideMimeType) {

http_request.overrideMimeType('text/xml');

}

} else if (window.ActiveXObject) { // IE

try {

http_request = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

http_request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {}

}

}

function makerequest(serverPage,objID){

var obj = document.getElementById(objID); //擷取需要顯示内容的div

http_request.open("GET",serverPage); //以get的方式打開指定的頁

http_request.onreadystatechange = function(){

if(http_request.readyState == 4 ){ //如果頁面已經完全加載

obj.innerHTML = http_request.responseText; //在指定的div中顯示加載的内容

}

}

http_request.send(null);

}

// --></mce:script>

<body onLoad="makerequest('content1.html','hw')">

<div align = "center">

<a href="" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onclick = "makerequest('content1.html','hw'); return false;">Page1</a>

<a href="" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onclick = "makerequest('content2.html','hw'); return false;">page2</a>

<a href="" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onclick = "makerequest('content3.html','hw'); return false;">page3</a>

<a href="" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" onclick = "makerequest('content4.html','hw'); return false;">page4</a>

<div id = "hw"></div>

</div>

</body>

</html> 

    然後再建立相應的content1.html,content2.html,content3.html,content4.html最好寫上不同的内容以示區分。

    另外需要說明的是,http_request.responseText這個傳回的内容是以utf-8編碼的,而如果我們用Dreamweaver去寫html,它預設的是gb2312編碼格式,這樣就會導緻亂碼的出現。我們可以手動修改Dreamweaver的編碼格式:修改-->頁面屬性-->标題/編碼-->編碼,然後選擇utf-8即可。

see Yizero by yizero.com

繼續閱讀