css select 样式列表-----另一种样式列表

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <HTML xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <TITLE>Select Demo</TITLE> <META http-equiv=Content-Type content="text/html; charset=utf-8"> <STYLE type=text/css> BODY {   BACKGROUND: #cfdfef; FONT: 12px/150% "Lucida Grande", Arial, Verdana, Helvetica, sans-serif } #uboxstyle .select_box {   WIDTH: 250px; HEIGHT: 24px } #uboxstyle DIV.tag_select {   PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: url(http://www.geekso.com/attachment/ubox-select.gif) no-repeat 0px 0px; PADDING-BOTTOM: 0px; WIDTH: 230px; COLOR: #79a2bd; LINE-HEIGHT: 24px; PADDING-TOP: 0px; HEIGHT: 24px } #uboxstyle DIV.tag_select_hover {   PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: url(http://www.geekso.com/attachment/ubox-select.gif) no-repeat 0px -24px; PADDING-BOTTOM: 0px; WIDTH: 230px; COLOR: #79a2bd; LINE-HEIGHT: 24px; PADDING-TOP: 0px; HEIGHT: 24px } #uboxstyle DIV.tag_select_open {   PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: url(http://www.geekso.com/attachment/ubox-select.gif) no-repeat 0px -48px; PADDING-BOTTOM: 0px; WIDTH: 230px; COLOR: #79a2bd; LINE-HEIGHT: 24px; PADDING-TOP: 0px; HEIGHT: 24px } #uboxstyle UL.tag_options {   PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: url(http://www.geekso.com/attachment/ubox-select.gif) no-repeat right bottom; PADDING-BOTTOM: 5px; MARGIN: 0px; WIDTH: 250px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; POSITION: absolute } #uboxstyle UL.tag_options LI {   PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: url(http://www.geekso.com/attachment/ubox-select.gif) repeat-y -250px 0px; PADDING-BOTTOM: 0px; WIDTH: 230px; COLOR: #79a2bd; LINE-HEIGHT: 24px; PADDING-TOP: 0px; HEIGHT: 24px; TEXT-DECORATION: none } #uboxstyle UL.tag_options LI.open_hover {   BACKGROUND: url(http://www.geekso.com/attachment/ubox-select.gif) no-repeat 0px -72px; COLOR: #fff } #uboxstyle UL.tag_options LI.open_selected {   BACKGROUND: url(http://www.geekso.com/attachment/ubox-select.gif) no-repeat 0px -96px; COLOR: #fff } </STYLE> <SCRIPT> var selects = document.getElementsByTagName('select');

var isIE = (document.all && window.ActiveXObject && !window.opera) ? true : false;

function $(id) {   return document.getElementById(id); }

function stopBubbling (ev) {    ev.stopPropagation(); }

function rSelects() {   for (i=0;i<selects.length;i++){     selects[i].style.display = 'none';     select_tag = document.createElement('div');       select_tag.id = 'select_' + selects[i].name;       select_tag.className = 'select_box';     selects[i].parentNode.insertBefore(select_tag,selects[i]);

    select_info = document.createElement('div');        select_info.id = 'select_info_' + selects[i].name;       select_info.className='tag_select';       select_info.style.cursor='pointer';     select_tag.appendChild(select_info);

    select_ul = document.createElement('ul');        select_ul.id = 'options_' + selects[i].name;       select_ul.className = 'tag_options';       select_ul.style.position='absolute';       select_ul.style.display='none';       select_ul.style.zIndex='999';     select_tag.appendChild(select_ul);

    rOptions(i,selects[i].name);         mouseSelects(selects[i].name);

    if (isIE){       selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"');window.event.cancelBubble = true;");     }     else if(!isIE){       selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"')");       selects[i].addEventListener("click", stopBubbling, false);     }      } }

function rOptions(i, name) {   var options = selects[i].getElementsByTagName('option');   var options_ul = 'options_' + name;   for (n=0;n<selects[i].options.length;n++){      option_li = document.createElement('li');       option_li.style.cursor='pointer';       option_li.className='open';     $(options_ul).appendChild(option_li);

    option_text = document.createTextNode(selects[i].options[n].text);     option_li.appendChild(option_text);

    option_selected = selects[i].options[n].selected;

    if(option_selected){       option_li.className='open_selected';       option_li.id='selected_' + name;       $('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));     }         option_li.onmouseover = function(){  this.className='open_hover';}     option_li.onmouseout = function(){       if(this.id=='selected_' + name){         this.className='open_selected';       }       else {         this.className='open';       }     }       option_li.onclick = new Function("clickOptions("+i+","+n+",'"+selects[i].name+"')");   } }

function mouseSelects(name){   var sincn = 'select_info_' + name;

  $(sincn).onmouseover = function(){ if(this.className=='tag_select') this.className='tag_select_hover'; }   $(sincn).onmouseout = function(){ if(this.className=='tag_select_hover') this.className='tag_select'; }

  if (isIE){     $(sincn).onclick = new Function("clickSelects('"+name+"');window.event.cancelBubble = true;");   }   else if(!isIE){     $(sincn).onclick = new Function("clickSelects('"+name+"');");     $('select_info_' +name).addEventListener("click", stopBubbling, false);   }

}

function clickSelects(name){   var sincn = 'select_info_' + name;   var sinul = 'options_' + name; 

  for (i=0;i<selects.length;i++){      if(selects[i].name == name){              if( $(sincn).className =='tag_select_hover'){         $(sincn).className ='tag_select_open';         $(sinul).style.display = '';       }       else if( $(sincn).className =='tag_select_open'){         $(sincn).className = 'tag_select_hover';         $(sinul).style.display = 'none';       }     }     else{       $('select_info_' + selects[i].name).className = 'tag_select';       $('options_' + selects[i].name).style.display = 'none';     }   }

}

function clickOptions(i, n, name){      var li = $('options_' + name).getElementsByTagName('li');

  $('selected_' + name).className='open';   $('selected_' + name).id='';   li[n].id='selected_' + name;   li[n].className='open_hover';   $('select_' + name).removeChild($('select_info_' + name));

  select_info = document.createElement('div');     select_info.id = 'select_info_' + name;     select_info.className='tag_select';     select_info.style.cursor='pointer';   $('options_' + name).parentNode.insertBefore(select_info,$('options_' + name));

  mouseSelects(name);

  $('select_info_' + name).appendChild(document.createTextNode(li[n].innerHTML));   $( 'options_' + name ).style.display = 'none' ;   $( 'select_info_' + name ).className = 'tag_select';   selects[i].options[n].selected = 'selected';

}

window.onload = function(e) {   bodyclick = document.getElementsByTagName('body').item(0);   rSelects();   bodyclick.onclick = function(){     for (i=0;i<selects.length;i++){        $('select_info_' + selects[i].name).className = 'tag_select';       $('options_' + selects[i].name).style.display = 'none';     }   } } </SCRIPT> <META content="MSHTML 6.00.2900.3199" name=GENERATOR> </HEAD> <BODY> <FORM id=form name=form action="" method=post>   <BR>   <BR>   <DIV id=uboxstyle>     <SELECT id=language name=language>       <OPTION value=English selected>请选择。</OPTION>       <OPTION value=简体中文>简体中文</OPTION>       <OPTION value=日本語>日本語</OPTION>       <OPTION value=http://www.geekso.com>这一技客</OPTION>     </SELECT>   </DIV>   <BR>   <BR>   </DIV>  </FORM> </BODY> </HTML>

原文地址:https://www.cnblogs.com/wt869054461/p/3778686.html