js封裝代碼

           


                   function Ajax(){
             
                       //    doc.innerHTML='<span><img src="image/load.gif"/>Loading...</span>';
                      ////創造對象
                      var xmlhttp;
                      try
                      {
                          if (window.ActiveXObject){
                              /* 不要刪除以下注釋,這部分不是注釋 */
                              /*@cc_on @*/
                              /*@if (@_jscript_version >= 5)
                              try {
                                xmlhttp = new ActiveXObject("Msxml2.xmlhttp");
                              } catch (e) {
                                try {
                                  xmlhttp = new ActiveXObject("Microsoft.xmlhttp");
                                } catch (e) {
                                  xmlhttp = false;
                                }
                              }
                              @end @*/
                          }else{
                              xmlhttp=new XMLHttpRequest();
                          }
                          if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
                            xmlhttp = new XMLHttpRequest();
                          }
                      }
                      catch(e)
                      {
                      alert(e.message);
                      }
                      //alert(xmlhttp);
                      if(!xmlhttp)
                      {
                      alert("你的瀏覽器不支持xmlhttp對象,所以一些功能無法使用,建議使用高版本的瀏覽器!!");
                      return;
                      }

          //    
                      ///函數主題
                          this.getData=function(url,data,dodata)
                          {
                              var verbs =data;
                             // alert(data);
                              xmlhttp.open("POST", url,true);

                                  xmlhttp.onreadystatechange=function(){
                                      if (xmlhttp.readyState==4){
                                          dodata(xmlhttp);                 
                                      }
                                  }
                              xmlhttp.setRequestHeader("Content-Length",verbs.length);
                              xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
                              xmlhttp.send(verbs);
                          }
                          /////
                          this.getUrlData=function(url,data,dodata)
                          {
                              xmlhttp.open("GET",url,true);

                              xmlhttp.onreadystatechange = function() {

                              if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                                dodata(xmlhttp);
                               Status.setStatusShow(false);
                              }
                              else
                              {
                                Status.showInfo("加載中...");
                              }
                           
                              }
                               xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
                              xmlhttp.send(null);
                          }
                          this.getFormData=function(demo)
                          {
                          alert(demo);
                          }
                      ///函數主題
          }
          /**
           * @author zxub 2006-06-01
           * 狀態信息顯示類,用var Status=new function()定義,可以靜態引用其中的方法
           * 一般情況下為function Status(),這樣不能靜態引用其中的方法,需要通過對象來引用
           */
          var Status=new function()
          {
              this.statusDiv=null;
             
              /**
               * 初始化狀態顯示層
               */
           this.init=function()
           {
               if (this.statusDiv!=null)
               {
                   return;
               }
            var body = document.getElementsByTagName("body")[0];
            var div = document.createElement("div");
            div.style.position = "absolute";
            div.style.top = "50%";
            div.style.left = "50%";
            div.style.width = "280px";
            div.style.margin = "-50px 0 0 -100px"; 
            div.style.padding = "15px";
            div.style.backgroundColor = "#353555";
            div.style.border = "1px solid #CFCFFF";
            div.style.color = "#CFCFFF";
            div.style.fontSize = "14px";
            div.style.textAlign = "center";
            div.id = "idstatus";
            body.appendChild(div);
            div.style.display="none";
            this.statusDiv=document.getElementById("idstatus");
           }
           this.init=function(obj)
           {
               if (this.statusDiv!=null)
               {
                   return;
               }
              // alert(postion.y+postion.height);
               var postion=GetPosition(obj);
            var body = document.getElementsByTagName("body")[0];
            var div = document.createElement("div");
            div.style.position = "absolute";
            div.style.top = ((postion.y+postion.height)+"px");
            div.style.left = postion.x+"px";
            div.style.width = "280px";
            div.style.height = "120px";
            div.style.margin = "0 0 0 0"; 
            div.style.padding = "15px";
            div.style.backgroundColor = "#FFFFCC";
            div.style.border = "1px solid #CFCFFF";
            div.style.color = "#000000";
            div.style.fontSize = "14px";
            div.style.textAlign = "left";
            div.style.overFlowY = "scroll";
            div.id = "idstatus";
            body.appendChild(div);
            div.style.display="none";
            this.statusDiv=document.getElementById("idstatus");
           }
           /**
            * 設置狀態信息
            * @param _message:要顯示的信息
            */
           this.showInfo=function(_message)
           {  
               if (this.statusDiv==null)
               {
                   this.init();
               } 
               this.setStatusShow(true);
               this.statusDiv.innerHTML = _message;    
           }
             this.showInfo=function(_message,obj)
           {  

               if (this.statusDiv==null)
               {
                   this.init(obj);
               } 
            
               this.setStatusShow(true,obj);
               this.statusDiv.innerHTML = _message;    
           }
           
           /**
            * 設置狀態層是否顯示
            * @param _show:boolean值,true為顯示,false為不顯示
            */
           this.setStatusShow=function(_show)
           {  
               if (this.statusDiv==null)
               {
                   this.init();
               }
               if (_show)
               {
                   this.statusDiv.style.display="";
               }
               else
               {
                   this.statusDiv.innerHTML="";
                   this.statusDiv.style.display="none";
               }
           }
            this.setStatusShow=function(_show,obj)
           {  
               if (this.statusDiv==null)
               {
                   this.init(obj);
               }
               if (_show)
               {
                   this.statusDiv.style.display="";
               }
               else
               {
                   this.statusDiv.innerHTML="";
                   this.statusDiv.style.display="none";
               }
           }
          }
          function GetPosition(element) {
              var result = new Object();
              result.x = 0;
              result.y = 0;
              result.width = 0;
              result.height = 0;
              if (element.offsetParent) {
                  result.x = element.offsetLeft;
                  result.y = element.offsetTop;
                  var parent = element.offsetParent;
                  while (parent) {
                      result.x += parent.offsetLeft;
                      result.y += parent.offsetTop;
                      var parentTagName = parent.tagName.toLowerCase();
                      if (parentTagName != "table" &&
                          parentTagName != "body" &&
                          parentTagName != "html" &&
                          parentTagName != "div" &&
                          parent.clientTop &&
                          parent.clientLeft) {
                          result.x += parent.clientLeft;
                          result.y += parent.clientTop;
                      }
                      parent = parent.offsetParent;
                  }
              }
              else if (element.left && element.top) {
                  result.x = element.left;
                  result.y = element.top;
              }
              else {
                  if (element.x) {
                      result.x = element.x;
                  }
                  if (element.y) {
                      result.y = element.y;
                  }
              }
              if (element.offsetWidth && element.offsetHeight) {
                  result.width = element.offsetWidth;
                  result.height = element.offsetHeight;
              }
              else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
                  result.width = element.style.pixelWidth;
                  result.height = element.style.pixelHeight;
              }
              return result;
          }

           

          頁面js代碼

            function suggestValue(ele)
             {
          if(ele.value.length<1)
          return ;
             new Ajax().getData("/ajax.ashx","isAjax=true&switch=100&value="+ele.value,function(obj){;
            var values = eval(obj.responseText);
            var tempDiv ="";
            for(var i=0;i<values.length;i++)
            {
             tempDiv+='<div style="cursor:hand;width:100%" onmouseover=\'this.style.backgroundColor="#ffff88"\' onmouseout=this.style.backgroundColor="#FFFFCC" onclick=\'javascript:document.getElementById("mzzd").value="'+values[i].value+'";Status.setStatusShow(false);\' class="suggest_link_over">'+values[i].name+'</div>';
            }
             Status.showInfo(tempDiv,document.getElementById(ele.id));
             });
             }

          頁面html代碼<input id="idkey"  style="width:36%" value="請輸入拼音首字母" onfocus="if(value=='請輸入拼音首字母')value='';if(value.length>0)suggestValue(this)" type="text" onkeyup='suggestValue(this)' />

          服務器返回代碼格式:[{name:"names"},{password:"password"}]

          posted on 2009-11-02 16:43 sanmao 閱讀(249) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 保亭| 嘉义市| 临清市| 和平县| 株洲市| 临高县| 呈贡县| 长寿区| 滨海县| 通辽市| 汶川县| 石家庄市| 澄迈县| 锡林浩特市| 民丰县| 响水县| 康平县| 青岛市| 息烽县| 汝阳县| 沙湾县| 临泽县| 东乡族自治县| 龙南县| 自贡市| 龙川县| 文登市| 武义县| 陵川县| 耿马| 抚顺市| 平安县| 日土县| 信宜市| 驻马店市| 铜陵市| 淮北市| 旺苍县| 仙居县| 武隆县| 霍林郭勒市|