autocomplete-delay.js

来源:互联网 发布:js url加密解密 编辑:程序博客网 时间:2024/06/06 19:54

function autocomplete(option){
 option = {
  charLength: option.charlength || 1,
  delayTime: option.delaytime || 400,
  oldUserList:option.oldUserList || "",
  currentLi:option.currentLi||{},
 };
 showSuggest=function(toFindUser){
  ajax({
   type:"POST",
   datatype:"xml",
   url:"database.xml",
   onSuccess:function(database){
    var ul=getById("ul");
    var images=document.getElementsByTagName("image");
    var names=document.getElementsByTagName("name");
    for(var i=0;i<names.length;i++){
     var t=0;
     var results=names[i].match('^('+toFindUser+')');
                    if(results[0]){
      var li=document.createElement("li");
      li.onclick=addUserToList(names[i]);
      t++;
      if(t%2==1){
       li.setAttribute("class","li"); 
      }
      li.innerHTML="<img src="+images[i]+"/>&nbsp;"+names[i];
      ul.appendChild(li);
     }else{
      continue;
     }
    }
    getById("suggest").style.display="";
    var lists=document.getElementsByTagName("li");
    currentLi=lists[0];
   }
  });
 }

 hiddenSuggest=function(){
  getById("suggest").style.display="none";
 }
 addUserToList=function(tempuser){
  var str=getById("userlist").value;
  str+=tempuser;
  option.oldUserList=str;
 }
 getById=function(id){
  if(id){
   return document.getElementById(id);
  }
  else{
   return null;
  }
 }
 getLastEnteryUser=function(newUserList){
    var position= newUserList.lastIndexOf(";")
    if(position==-1){
     return newUserList;
    }
    else{
   return newUserList.substring(position,newUserList);
    }
 }
 setInterval(function userListListener(){
     var newUserList=getById("userlist").value;
  if(newUserList!=""&&option.oldUserList!=null
    &&newUserList!=option.oldUserList
    &&newUserList.length>=option.charLength){
   showSuggest(getLastEnteryUser(newUserList));
  }else{
   hiddenSuggest();
  }
  option.oldUserList=newUserList;
 },option.delayTime); 
 this.inputObj=getById("userlist");
 inputObj.onkeypress=function(){  
 } 
}

原创粉丝点击