<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    BaSaRa 目前關心的是UI技術

    從ajax.cn摘錄下來的ajax設計模式,其實也是《ajax in action》的第三章主要內(nèi)容:)

    //Facade模式實例
    var net=new Object();
    net.READY_STATE_UNINITIALIZED=0;
    net.READY_STATE_LOADING=1;
    net.READY_STATE_LOADED=2;
    net.READY_STATE_INTERACTIVE=3;
    net.READY_STATE_COMPLETE=4;
    net.ContentLoader=function(url,onload,onerror){
    this.url=url;
    this.req=null;
    this.onload=onload;
    this.onerror=(onerror) ? onerror : this.defaultError;
    this.loadXMLDoc(url);
    net.ContentLoader.prototype={
      loadXMLDoc:function(url){
        if (window.XMLHttpRequest){
          this.req=new XMLHttpRequest();
        } else if (window.ActiveXObject){
          this.req=new ActiveXObject("Microsoft.XMLHTTP");
        }
        if (this.req){
          try{
            var loader=this;
            this.req.onreadystatechange=function(){
            loader.onReadyState.call(loader);
          }
          this.req.open('GET',url,true);
          this.req.send(null);
          }catch (err){
            this.onerror.call(this);
          }
        }
      },
      onReadyState:function(){
        var req=this.req;
        var ready=req.readyState;
        if (ready==net.READY_STATE_COMPLETE){
          var httpStatus=req.status;
          if (httpStatus==200 || httpStatus==0){
            this.onload.call(this);
          }else{
            this.onerror.call(this);
          }
        }
      },
      defaultError:function(){
        alert("error fetching data!"
          +"\n\nreadyState:"+this.req.readyState
          +"\nstatus: "+this.req.status
          +"\nheaders: "+this.req.getAllResponseHeaders());
      }
    }

    //Adapter模式實例
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "myData.xml");
    xhr.onreadystatechange = function(){
      if(xhr.readyState == 4){
        alert(xhr.responseXML);
      }
    }
    xhr.send(null);


    //Observer模式實例
    window.onloadListeners=new Array();
      window.addOnLoadListener(listener){
      window.onloadListeners[window.onloadListeners.length]=listener;
    }

    window.onload=function(){
      for(var i=0;i<window.onloadListeners.length;i++){
        var func=window.onlloadListeners[i];
        func.call();
      }
    }

    //Singleton模式實例
    var SingletonObj = {
      property1: value1,
      property2: value2,
      ...
      method1:function(){
        ...
      }
      method2:function(){
        ...
      }
      ...
    }

    function getSingletonObj() {
      if(!top.SingletonObj) {
        var top.SingletonObj = {
          ...
        }
        top.SingletonObj.init(...);
      }
      return top.SingletonObj;
    }

    //Command模式實例
    function buttonOnclickHandler(event){
      var data=calculate();
      showData(dataTable,data);
    }
    function ajaxOnloadHandler(){
      var data=calculate();
      showData(otherDataTable,data);
    }
    function calculate(){
      var data=new Array();
      data[0]=6;
      data[1]=data[0]/3;
      data[2]=data[0]*data[1]+7;
      return data;
    }
    function showData(table,data){
      var newRow=createTableRow(table);
      for (var i=0;i<data.length;i++){
        createTableCell(newRow,data[i]);
      }
    }
    buttonDiv.onclick=buttonOnclickHandler;
    poller.onload=ajaxOnloadHandler;

    //MVC應用實例
    function Button(value,domEl){
      this.domEl=domEl;
      this.value=value;
      this.domEl.buttonObj=this;
      this.domEl.onclick=this.clickHandler;
    }

    Button.prototype.clickHandler=function(){
      var buttonObj=this.buttonObj;
      var value=(buttonObj && buttonObj.value) ?
        buttonObj.value : "unknown value";
      alert(value);
    }

    posted on 2006-06-09 09:20 BaSaRa 閱讀(404) 評論(0)  編輯  收藏 所屬分類: Javascript

    My Links

    Blog Stats

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费人成视频在线播放| 国产精品亚洲片在线va| 国产免费一级高清淫曰本片| 在线观看免费亚洲| 亚洲欧洲av综合色无码| 成人黄18免费视频| 亚洲中文字幕无码爆乳| 妞干网免费观看视频| 在线观看日本亚洲一区| 大陆一级毛片免费视频观看i| 亚洲人成免费电影| 成人毛片视频免费网站观看| 亚洲一久久久久久久久| 最近的中文字幕大全免费版| 亚洲精品无码一区二区| 在线观看国产情趣免费视频| 一级一级一级毛片免费毛片| 久久精品国产亚洲av成人| 亚洲精品视频免费看| 亚洲成a人片在线看| 日本午夜免费福利视频| 永久免费无码日韩视频| 亚洲色婷婷一区二区三区| 日本高清免费观看| 国产成人精品亚洲日本在线| 国产乱子影视频上线免费观看| 国产亚洲精品第一综合| 国产成人综合亚洲亚洲国产第一页| 国产又黄又爽又大的免费视频 | 国产亚洲精品91| 精品亚洲成α人无码成α在线观看| 国产情侣久久久久aⅴ免费| 亚洲一级大黄大色毛片| 在线免费观看国产视频| 9久热精品免费观看视频| 亚洲视频日韩视频| 亚洲A∨精品一区二区三区| 无码精品人妻一区二区三区免费看 | 拍拍拍无挡免费视频网站| 亚洲视频在线观看免费视频| 永久在线毛片免费观看|