一个个性化的Select下拉列表框,长宽可自适应,可进行的自定义设置比较多,比如可进行select背景设置,select经过时背景设置,select打开时背景设置,options下拉列表尾部背景设置,options下拉列表循环背景和字体设置,option鼠标经过背景和字体颜色设置等。
个性化Select,长宽可自适应body{font:12px/150% "Lucida Grande", Arial, Verdana, Helvetica, sans-serif;}
/*select下拉框宽度设置*/
#uboxstyle .select_box,
#uboxstyle ul.tag_options{width:137px;}
#uboxstyle .select_box{height:22px;}
/*公共设置*/
#uboxstyle div.tag_select,
#uboxstyle div.tag_select_hover,
#uboxstyle div.tag_select_open,
#uboxstyle ul.tag_options li
{display:block;width:125px;height:20px;padding:0 5px;color:#79A2BD;line-height:20px;background:#fbfdff}
#uboxstyle div.tag_select,
#uboxstyle div.tag_select_hover,
#uboxstyle div.tag_select_open
{border:1px solid #cee3ff;}
/*select背景设置*/
#uboxstyle div.tag_select{background:#fbfdff url("http://www.codefans.net/jscss/demoimg/201211/SelectStyleBnt.gif") no-repeat right 0;}
/*select经过时背景设置*/
#uboxstyle div.tag_select_hover{background:#fbfdff url("http://www.codefans.net/jscss/demoimg/201211/SelectStyleBnt.gif") no-repeat right -21px;}
/*select打开时背景设置*/
#uboxstyle div.tag_select_open{border-bottom:none;background:#fbfdff url("http://www.codefans.net/jscss/demoimg/201211/SelectStyleBnt.gif") no-repeat right -42px;}
/*options下拉列表尾部背景设置*/
#uboxstyle ul.tag_options{position:absolute;padding:0;margin:0;list-style:none;border-bottom:1px solid #cee3ff;}
/*options下拉列表循环背景和字体设置*/
#uboxstyle ul.tag_options li{color:#0f71e0 !important;border-left:1px solid #cee3ff;border-right:1px solid #cee3ff;text-decoration:none;}
/*option鼠标经过背景和字体颜色设置*/
#uboxstyle ul.tag_options li.open_hover{background:#fdf5ea;color:#fa5b05 !important}
/*option选中背景和字体颜色设置*/
#uboxstyle ul.tag_options li.open_selected{background:#639dff;color:#fff !important;}
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[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
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
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
$('select_info_' + selects[i].name).className = 'tag_select';
$('options_' + selects[i].name).style.display = 'none';
}
}
}
全部
等待买家付款
等待卖家发货
等待确认收货