国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Flash & Ajax 操作 XML 實(shí)例:無刷新分頁
其實(shí)標(biāo)題只是一個(gè)噱頭罷了,只是想談一下,Javascript 與 Actionscript 是如何操作XML的。
希望能幫助一些只用 Javascript  或 只懂 Actionscript 的朋友,了解兩者的相同與不同之處。
Flash 與 后臺(tái)連接有許多種,Actionscript 調(diào)用 XML() 算是比較簡單的一種了,
而Javascript 調(diào)用 xmlHttp ,便形成了現(xiàn)在很流行的Ajax了。
現(xiàn)在就用一個(gè)網(wǎng)上常出現(xiàn)的分頁效果來對 Flash 和 Ajax 做個(gè)入門學(xué)習(xí)。
效果預(yù)覽
源文件下截:見附件
實(shí)際運(yùn)用中一般是通過后臺(tái)腳本生成XML文件,再對其產(chǎn)生的數(shù)據(jù)進(jìn)行操作
由于篇幅關(guān)系在本文中將用1.xml 2.xml 3.xml代替。后臺(tái)腳本不做說明
首先了解一個(gè)XML的結(jié)構(gòu):
  1. <data>  
  2.   <movie id="1" type="愛情">幸福終點(diǎn)站</movie>  
  3.   <movie id="2" type="恐怖">絕命終結(jié)站</movie>  
  4.   <movie id="3" type="喜劇">恐怖電影</movie>  
  5.   …  
  6.   ….  
  7. </data>
  8. 從簡單的Flash開始吧   

  9. function setxml(page){  
  10.   pageXml = new XML();                                         //申明XML對象  
  11.   pageXml.ignoreWhite = true;                                 //允許空白  
  12.   pageXml.load(page+".xml?rid="+Math.random());                //讀取XML文件  
  13.   pageXml.onLoad = function(success)  
  14.   {  
  15.     if (success)  
  16.       {  
  17.       parseXml(pageXml);                                       //如果讀取成功,分析XML文件  
  18.     }  
  19.   }  
  20. }  
  21. function parseXml(pageXml){  
  22.   xmlroot = ageXml.firstChild;                                     //定義XML根目錄  
  23.   for (i=0;i<xmlroot.childNodes.length;i++)  
  24.   {  
  25.     attachMovie("tr","tr_"+i,i);                                     //生成行  
  26.     this["tr_"+i]._x = 13;  
  27.     this["tr_"+i]._y = 25*i+33;  
  28.     this["tr_"+i].no = xmlroot.childNodes[i].attributes.id;         //取得一條記錄的ID  
  29.     this["tr_"+i].name = xmlroot.childNodes[i].firstChild;          //片名  
  30.     this["tr_"+i].type = xmlroot.childNodes[i].attributes.type;     //類型  
  31.     page = pageXml.firstChild.attributes.page;                      //獲取當(dāng)前頁  
  32.   }  
  33. }  
  34. if (!page)                                                         //初始頁碼為第一頁 page=1;  
  35.   setxml(page);                                                    //初始第一頁內(nèi)容  
  36. presetxmlbtn.onRelease = function()  
  37. {  
  38.   setxml(page*1-1);                                                //向前翻頁,讀取內(nèi)容  
  39. }            
  40. nextbtn.onRelease = function()  
  41. {  
  42.   setxml(page*1+1);                                                //向后翻頁,讀取內(nèi)容  
  43. }
  44. 接下來是Ajax了
  45. 關(guān)于Ajax 入門學(xué)習(xí)可以有翻一下我以前的日志,我推薦過兩篇不錯(cuò)的文章

  46. var xmlHttp  
  47. /*  
  48. 第一部分是有關(guān)xmlHttp的申明,因?yàn)镮E和其它一些瀏覽生成xmlHttp的對象有一點(diǎn)兩樣,所以申明時(shí)比較麻煩  
  49. 其它主要功能相當(dāng)于Flash方式中的 "new XML()" 當(dāng)然還包函其它功能   
  50. */  
  51. function GetXmlHttpObject(handler)  
  52. {   
  53.   var objXmlHttp=null;   
  54.   if (navigator.userAgent.indexOf("MSIE")>=0)  
  55.   {   
  56.     var strName="Msxml2.XMLHTTP";  
  57.     if (navigator.appVersion.indexOf("MSIE 5.5")>=0)             //既使是IE都有兩種申明方式  
  58.     {  
  59.       strName="Microsoft.XMLHTTP";  
  60.     }   
  61.     try  
  62.     {   
  63.       objXmlHttp=new ActiveXObject(strName);  
  64.       objXmlHttp.onreadystatechange=handler;   
  65.       return objXmlHttp;  
  66.     }   
  67.     catch(e)  
  68.     {   
  69.       alert("Error. Scripting for ActiveX might be disabled");   
  70.       return;  
  71.     }   
  72.   }  
  73.   else  
  74.   {  
  75.     objXmlHttp=new XMLHttpRequest();                             //Firefox、Opera等都是用這種  
  76.     objXmlHttp.onload=handler;  
  77.     objXmlHttp.onerror=handler;  
  78.     return objXmlHttp;  
  79.   }  
  80. }  
  81. //首先要被調(diào)用的函數(shù),可看作上面Flash中的 setxml()函數(shù),  
  82. function showpage(no)  
  83. {  
  84.   document.getElementById("loadstatus").innerHTML = "Lading…";  
  85.   var url = no+".xml?rid="+Math.random();  
  86.   //stateChanged_showplist是下面的函數(shù)名,注意的是不要加括號  
  87.   xmlHttp=GetXmlHttpObject(stateChanged_showplist);  
  88.   //傳遞方式是GET,也可以選擇POST方式,有時(shí)傳遞變量是中文要記得設(shè)置文件頭                     
  89.   xmlHttp.open("GET", url , true);  
  90.   xmlHttp.send(null);  
  91. }  
  92. //分析XML函數(shù)  
  93. function stateChanged_showplist()  
  94. {  
  95.   if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") //xmlHttp.readyState==4  4表示讀取結(jié)束  
  96.   {  
  97.     document.getElementById("loadstatus").innerHTML = " ";  
  98.     table = document.getElementById("pagebody");               //生成TALBE Element  
  99.     for (i = table.rows.length-1; i >= 0; i–)                 //要?jiǎng)h除原來有的行,不然表格會(huì)無限延伸  
  100.       table.deleteRow(i);  
  101.     xmlroot = xmlHttp.responseXML.getElementsByTagName("movie");  //取得XML所需要的根  
  102.       
  103.     for (i=0;i<xmlroot.length;i++)  
  104.     {  
  105.       //簡單的DOM,生成表格。  
  106.       tr = table.insertRow(-1);   
  107.       td = tr.insertCell(-1);  
  108.       td.align = "center";  
  109.       td.innerHTML = ‘<span class="warntxt">’+xmlroot[i].getAttribute(’id’)+’</span>’;  
  110.       td = tr.insertCell(-1);  
  111.       td.innerHTML = xmlroot[i].firstChild.data;  
  112.       td = tr.insertCell(-1);  
  113.       td.innerHTML = xmlroot[i].getAttribute(’type’);  
  114.     }  
  115.     //定義翻頁鏈接  
  116.     page = xmlHttp.responseXML.getElementsByTagName("data")[0].getAttribute(’page’)  
  117.     if (page >1)  
  118.     {  
  119.       prepage = page*1-1;  
  120.       var changpage = "<a href=’javascript:showpage("+ prepage +")’>上一頁</a> ";  
  121.     }  
  122.     else  
  123.     {  
  124.       changpage = "上一頁 ";  
  125.     }  
  126.     if (page <3)  
  127.     {  
  128.       nextpage = page*1+1;  
  129.       changpage += "<a href=’javascript:showpage("+ nextpage +")’>下一頁</a> ";  
  130.     }  
  131.     else{  
  132.       changpage += "下一頁 ";  
  133.     }  
  134.     document.getElementById("changpage").innerHTML = changpage;  
  135.   }  
  136. }
復(fù)制代碼
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AJAX 教程
Ajax 和 XML: 五種 Ajax 反模式
ajax = asynchronous + javascript + xml via http
AJAX網(wǎng)絡(luò)開發(fā)技術(shù)
什么是Ajax和JSON,它們的優(yōu)缺點(diǎn)
js+ajax處理java后臺(tái)返回的json對象循環(huán)創(chuàng)建到表格的方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服