html下拉框自适应,个性化Select下拉列表,长宽可自适应

一个个性化的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';

}

}

}

全部

等待买家付款

等待卖家发货

等待确认收货

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值