使用div+css類比select功能與效果

來源:互聯網
上載者:User

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>colee做的類比select效果</title>
<style type="text/css">
<!--
* {
 margin: 0px;
 padding:0;
}
input,img {vertical-align:middle;}
.Option .on { background:#2F67D0; color:#fff;}
-->
</style>
<script type="text/javascript">
function CoLeeSelect(thisObj){
 var thisinput = thisObj.getElementsByTagName("input");
 var thisul = thisObj.getElementsByTagName("ul");
 var thisli = thisul[0].getElementsByTagName("li");
 if(thisObj.id != "CoLeeSelect"){
  thisObj.id = "CoLeeSelect";
  thisObj.focus();
  thisul[0].style.display = "";
  for(var i=0;i<thisli.length;i++){
   thisli[i].onmouseover = function(){
    for(var j=0;j<thisli.length;j++){
     thisli[j].className = "";
     }
    this.className = "on";
    }
   thisli[i].onclick = function(){
    thisinput[0].value = this.innerHTML;
    }
   }
  }else{
   ObjBlur();
  }
  thisObj.onblur = ObjBlur;
  function ObjBlur(){
   thisObj.id =  "";
   thisul[0].style.display = "none";
   thisObj.blur();
   }
 }
</script>
</head>
<body style=" width:500px; margin:100px auto;">
<div onclick="CoLeeSelect(this)" style="position:relative;float:left; cursor:pointer; width:120px; height:20px; background:#eee;" tabIndex=0>
  <input style="width:65px; height:18px; margin-right:-15px; cursor:pointer;" type="text" value="22222222" /><img src="u_t1.gif" />
 <ul class="Option" style="position:absolute; left: 0px; top: 20px;  border:1px #666 solid; display:none">
    <li>111111111111</li>
    <li class="on">222222222222</li>
    <li>333333333333</li>
 </ul>
</div>
<div onclick="CoLeeSelect(this)" style="position:relative;float:left;" tabIndex=0>
  <input style="width:65px; height:18px; margin-right:-15px;" type="text" value="22222222" />
  <img src="u_t1.gif" />
 <ul class="Option" style="position:absolute; left: 0px; top: 20px;  border:1px #666 solid; display:none">
    <li>111111111111</li>
    <li class="on">222222222222</li>
    <li>333333333333</li>
 </ul>
</div>
</body></html>

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.