1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > select美化自定义下拉框样式

select美化自定义下拉框样式

时间:2021-10-22 11:49:30

相关推荐

select美化自定义下拉框样式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="/1999/xhtml">

<head>

<title>select美化自定义下拉框样式</title>

</head>

<body>

<style type="text/css">

*{margin:0;padding:0;}

select{outline:none;}

ul{list-style:none;}

a{text-decoration:none;}

select{display: none;}

.select_box{font-family: "宋体"; font-size: 12px;color: #999999;width: 178px;line-height: 20px;margin: 50px auto;}

.select_showbox{border: 1px solid #b0a296;height: 20px;padding-left: 5px;background: url(/jscss/demoimg/03/icon.png) no-repeat 156px 0;}

.select_option{border: 1px solid #b0a296;border-top: none;display: none;}

.select_option li{padding-left: 5px;}

.select_option li.selected{background-color: #F3F3F3;color: #999;}

.select_option li.hover{background: #7b6959; color: #fff;}

</style>

<select name="choose" id="choose">

<option value="选择风格" selected="selected">选择风格</option>

<option value="复古风">复古风</option>

<option value="摇滚风">摇滚风</option>

<option value="怀旧风">怀旧风</option>

</select>

<script type="text/javascript" src="/ajaxjs/jquery-1.7.2.min.js"></script>

<script type="text/javascript">

(function($){

var selects=$('select');//获取select

for(var i=0;i<selects.length;i++){

createSelect(selects[i],i);

}

function createSelect(select_container,index){

//创建select容器,class为select_box,插入到select标签前

var tag_select=$('<div></div>');//div相当于select标签

tag_select.attr('class','select_box');

tag_select.insertBefore(select_container);

//显示框class为select_showbox,插入到创建的tag_select中

var select_showbox=$('<div></div>');//显示框

select_showbox.css('cursor','pointer').attr('class','select_showbox').appendTo(tag_select);

//创建option容器,class为select_option,插入到创建的tag_select中

var ul_option=$('<ul></ul>');//创建option列表

ul_option.attr('class','select_option');

ul_option.appendTo(tag_select);

createOptions(index,ul_option);//创建option

//点击显示框

tag_select.toggle(function(){

ul_option.show();

},function(){

ul_option.hide();

});

var li_option=ul_option.find('li');

li_option.on('click',function(){

$(this).addClass('selected').siblings().removeClass('selected');

var value=$(this).text();

select_showbox.text(value);

ul_option.hide();

});

li_option.hover(function(){

$(this).addClass('hover').siblings().removeClass('hover');

},function(){

li_option.removeClass('hover');

});

}

function createOptions(index,ul_list){

//获取被选中的元素并将其值赋值到显示框中

var options=selects.eq(index).find('option'),

selected_option=options.filter(':selected'),

selected_index=selected_option.index(),

showbox=ul_list.prev();

showbox.text(selected_option.text());

//为每个option建立个li并赋值

for(var n=0;n<options.length;n++){

var tag_option=$('<li></li>'),//li相当于option

txt_option=options.eq(n).text();

tag_option.text(txt_option).css('cursor','pointer').appendTo(ul_list);

//为被选中的元素添加class为selected

if(n==selected_index){

tag_option.attr('class','selected');

}

}

}

})(jQuery)

</script>

<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">

</div>

</body>

</html>

效果如下

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。