淘先锋技术网

首页 1 2 3 4 5 6 7

jQuery是一款非常实用的JavaScript库,它可以帮助我们轻松快速地实现各种功能,其中之一便是模拟select选择框。下面我们来具体了解一下这个功能。

//HTML结构
<div id="selectBox" class="selectBox">
<div class="selectContent">
<span class="currentSelect">请选择</span>
<ul class="selectList">
<li>选项1</li>
<li>选项2</li>
<li>选项3</li>
<li>选项4</li>
</ul>
</div>
</div>
//CSS样式
.selectBox{
position:relative;
width:100px;
height:30px;
border:1px solid #ccc;
cursor:pointer;
}
.selectContent{
position:absolute;
top:30px;
left:0;
width:100%;
height:auto;
border:1px solid #ccc;
background:#fff;
display:none;
}
.currentSelect{
display:inline-block;
width:80%;
height:28px;
line-height:28px;
padding:0 10px;
overflow:hidden;
white-space:nowrap;
text-overflow:ellipsis;
}
.selectList{
list-style:none;
margin:0;
padding:0;
}
.selectList li{
width:100%;
height:30px;
line-height:30px;
padding:0 10px;
cursor:pointer;
background:#f0f0f0;
}
.selectList li.selected{
background:#e6f7ff;
}
//JS动态效果
$(function(){
//下拉框展开
$('.selectBox').click(function(){
$(this).find('.selectContent').slideDown();
});
//下拉框收起
$(document).click(function(){
$('.selectContent').slideUp();
$('.selectList li').removeClass('selected');
$('.currentSelect').text('请选择');
});
//选项选择
$('.selectList li').click(function(){
$('.selectList li').removeClass('selected');
$(this).addClass('selected');
var value=$(this).text();
$('.currentSelect').text(value);
});
});

通过上述代码,我们实现了一个div模拟select的功能。我们可以点击下拉框展开,选择一个选项后,下拉框会自动收起并显示我们选择的选项。