濮阳杆衣贸易有限公司

主頁 > 知識庫 > Flash & Ajax 操作 XML 實例:無刷新分頁

Flash & Ajax 操作 XML 實例:無刷新分頁

熱門標簽:澳大利亞城市地圖標注 遼寧銀行智能外呼系統(tǒng) 上海浦東騰訊地圖標注位置 電銷機器人違法了嗎 遼寧正規(guī)電銷機器人 許昌智能電銷機器人公司 姜堰電銷機器人 辰溪地圖標注 海南銀行智能外呼系統(tǒng)商家
其實標題只是一個噱頭罷了,只是想談一下,Javascript 與 Actionscript 是如何操作XML的。
希望能幫助一些只用 Javascript  或 只懂 Actionscript 的朋友,了解兩者的相同與不同之處。
Flash 與 后臺連接有許多種,Actionscript 調(diào)用 XML() 算是比較簡單的一種了,
而Javascript 調(diào)用 xmlHttp ,便形成了現(xiàn)在很流行的Ajax了。
現(xiàn)在就用一個網(wǎng)上常出現(xiàn)的分頁效果來對 Flash 和 Ajax 做個入門學習。
 效果預覽
源文件下截
source.rar
實際運用中一般是通過后臺腳本生成XML文件,再對其產(chǎn)生的數(shù)據(jù)進行操作
由于篇幅關系在本文中將用1.xml 2.xml 3.xml代替。后臺腳本不做說明
首先了解一個XML的結(jié)構(gòu):
復制代碼 代碼如下:

data>  
  movie id="1" type="愛情">幸福終點站/movie>  
  movie id="2" type="恐怖">絕命終結(jié)站/movie>  
  movie id="3" type="喜劇">恐怖電影/movie>  
  …  
  ….  
/data>

從簡單的Flash開始吧
復制代碼 代碼如下:

function setxml(page){  
  pageXml = new XML();                                         //申明XML對象  
  pageXml.ignoreWhite = true;                                 //允許空白  
  pageXml.load(page+".xml?rid="+Math.random());                //讀取XML文件  
  pageXml.onLoad = function(success)  
  {  
    if (success)  
      {  
      parseXml(pageXml);                                       //如果讀取成功,分析XML文件  
    }  
  }  
}  
function parseXml(pageXml){  
  xmlroot = ageXml.firstChild;                                     //定義XML根目錄  
  for (i=0;ixmlroot.childNodes.length;i++)  
  {  
    attachMovie("tr","tr_"+i,i);                                     //生成行  
    this["tr_"+i]._x = 13;  
    this["tr_"+i]._y = 25*i+33;  
    this["tr_"+i].no = xmlroot.childNodes[i].attributes.id;         //取得一條記錄的ID  
    this["tr_"+i].name = xmlroot.childNodes[i].firstChild;          //片名  
    this["tr_"+i].type = xmlroot.childNodes[i].attributes.type;     //類型  
    page = pageXml.firstChild.attributes.page;                      //獲取當前頁  
  }  
}  
if (!page)                                                         //初始頁碼為第一頁 page=1;  
  setxml(page);                                                    //初始第一頁內(nèi)容  
presetxmlbtn.onRelease = function()  
{  
  setxml(page*1-1);                                                //向前翻頁,讀取內(nèi)容  
}            
nextbtn.onRelease = function()  
{  
  setxml(page*1+1);                                                //向后翻頁,讀取內(nèi)容  


接下來是Ajax了
關于Ajax 入門學習可以有翻一下我以前的日志,我推薦過兩篇不錯的文章
復制代碼 代碼如下:

var xmlHttp  
/*  
第一部分是有關xmlHttp的申明,因為IE和其它一些瀏覽生成xmlHttp的對象有一點兩樣,所以申明時比較麻煩  
其它主要功能相當于Flash方式中的 "new XML()" 當然還包函其它功能   
*/  
function GetXmlHttpObject(handler)  
{   
  var objXmlHttp=null;   
  if (navigator.userAgent.indexOf("MSIE")>=0)  
  {   
    var strName="Msxml2.XMLHTTP";  
    if (navigator.appVersion.indexOf("MSIE 5.5")>=0)             //既使是IE都有兩種申明方式  
    {  
      strName="Microsoft.XMLHTTP";  
    }   
    try  
    {   
      objXmlHttp=new ActiveXObject(strName);  
      objXmlHttp.onreadystatechange=handler;   
      return objXmlHttp;  
    }   
    catch(e)  
    {   
      alert("Error. Scripting for ActiveX might be disabled");   
      return;  
    }   
  }  
  else  
  {  
    objXmlHttp=new XMLHttpRequest();                             //Firefox、Opera等都是用這種  
    objXmlHttp.onload=handler;  
    objXmlHttp.onerror=handler;  
    return objXmlHttp;  
  }  
}  
//首先要被調(diào)用的函數(shù),可看作上面Flash中的 setxml()函數(shù),  
function showpage(no)  
{  
  document.getElementById("loadstatus").innerHTML = "Lading…";  
  var url = no+".xml?rid="+Math.random();  
  //stateChanged_showplist是下面的函數(shù)名,注意的是不要加括號  
  xmlHttp=GetXmlHttpObject(stateChanged_showplist);  
  //傳遞方式是GET,也可以選擇POST方式,有時傳遞變量是中文要記得設置文件頭                     
  xmlHttp.open("GET", url , true);  
  xmlHttp.send(null);  
}  
//分析XML函數(shù)  
function stateChanged_showplist()  
{  
  if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") //xmlHttp.readyState==4  4表示讀取結(jié)束  
  {  
    document.getElementById("loadstatus").innerHTML = " ";  
    table = document.getElementById("pagebody");               //生成TALBE Element  
    for (i = table.rows.length-1; i >= 0; i–)                 //要刪除原來有的行,不然表格會無限延伸  
      table.deleteRow(i);  
    xmlroot = xmlHttp.responseXML.getElementsByTagName("movie");  //取得XML所需要的根  

    for (i=0;ixmlroot.length;i++)  
    {  
      //簡單的DOM,生成表格。  
      tr = table.insertRow(-1);   
      td = tr.insertCell(-1);  
      td.align = "center";  
      td.innerHTML = ‘span class="warntxt">'+xmlroot[i].getAttribute('id')+'/span>';  
      td = tr.insertCell(-1);  
      td.innerHTML = xmlroot[i].firstChild.data;  
      td = tr.insertCell(-1);  
      td.innerHTML = xmlroot[i].getAttribute('type');  
    }  
    //定義翻頁鏈接  
    page = xmlHttp.responseXML.getElementsByTagName("data")[0].getAttribute('page')  
    if (page >1)  
    {  
      prepage = page*1-1;  
      var changpage = "a href='javascript:showpage("+ prepage +")'>上一頁/a> ";  
    }  
    else  
    {  
      changpage = "上一頁 ";  
    }  
    if (page 3)  
    {  
      nextpage = page*1+1;  
      changpage += "a href='javascript:showpage("+ nextpage +")'>下一頁/a> ";  
    }  
    else{  
      changpage += "下一頁 ";  
    }  
    document.getElementById("changpage").innerHTML = changpage;  
  }  
}
您可能感興趣的文章:
  • php ajax無刷新分頁,支持id定位
  • jquery 插件 web2.0分格的分頁腳本,可用于ajax無刷新分頁
  • AspNetAjaxPager,Asp.Net通用無刷新Ajax分頁控件,支持多樣式多數(shù)據(jù)綁定
  • JS+Ajax+Jquery實現(xiàn)頁面無刷新分頁以及分組 超強的實現(xiàn)
  • ajax實現(xiàn)無刷新分頁(php)
  • jQuery Pagination Ajax分頁插件(分頁切換時無刷新與延遲)中文翻譯版
  • JQuery+Ajax無刷新分頁的實例代碼
  • php+ajax實現(xiàn)無刷新分頁的方法
  • asp.net使用AJAX實現(xiàn)無刷新分頁
  • 實例代碼講解ajax實現(xiàn)的無刷新分頁

標簽:伊春 威海 西藏 銅川 深圳 撫州 晉城 崇左

巨人網(wǎng)絡通訊聲明:本文標題《Flash & Ajax 操作 XML 實例:無刷新分頁》,本文關鍵詞  Flash,amp,Ajax,操作,XML,實例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《Flash & Ajax 操作 XML 實例:無刷新分頁》相關的同類信息!
  • 本頁收集關于Flash & Ajax 操作 XML 實例:無刷新分頁的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    承德市| 定远县| 化州市| 临漳县| 内乡县| 肇源县| 黄龙县| 剑河县| 隆昌县| 中阳县| 康定县| 广元市| 随州市| 苍梧县| 阳山县| 类乌齐县| 北流市| 克山县| 裕民县| 井陉县| 阳朔县| 什邡市| 财经| 兰考县| 阿拉尔市| 香河县| 顺昌县| 金川县| 南华县| 清远市| 蓬溪县| 鹤壁市| 黄冈市| 廉江市| 双流县| 郴州市| 宁阳县| 鄯善县| 郓城县| 囊谦县| 交城县|