自定义下拉列表
Customized Drop Down List
所以我正在设计一个自定义的下拉列表,我需要将其作为用户的普通下拉列表这是HTML
<div class="select" id="long">
<img src="img/pin.jpg" class="select_img" />
<div class="select_text">
Newsletter
</div>
<div class="select_arrow">
<>
</div>
<ul>
<li>this</li>
<li>that</li>
<li>duck</li>
<li>deck</li>
</ul>
</div>
<div class="select" id="short">
<img src="img/clk.jpg" class="select_img" />
<div class="select_text">
Contact
</div>
<div class="select_arrow">
<>
</div>
<ul>
<li>this</li>
<li>that</li>
<li>duck</li>
<li>deck</li>
</ul>
</div>
</div>
正如你所看到的,我这里有两个DropDownList项目,一个是长的,另一个是短的这是CSS
/*ID's*/
img#logo {display: inline-block;float: left; height: 55px; width: 155px;}
div#long {margin-left: 330px;}
div#long .select_text { width: 85px;}
div#long ul {width: 147px; display: none;}
div#short {margin-left: 16px;}
div#short .select_text { width: 57px;}
div#short ul {width: 119px; display: none;}
/* Classes */
.select{
position: relative;
height: 31px;
display: inline-block;
float: left;
margin-top: 10px;
font-family: nexa;
color: #959595;
font-size: 10px;
}
.select_img{
display: inline-block;
float: left;
width: 31px;
height: 31px;
background-color: #fff;
cursor: pointer;
}
.select_text{
display: inline-block;
float: left;
height: 31px;
background-color: #fff;
cursor: pointer;
text-indent: 3px;
line-height: 32px;
}
.select_arrow{
display: inline-block;
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
background-color: #ebebeb;
color: #959595;
width: 31px;
height: 30px;
border-bottom: 1px #d8d8d8 solid;
font-size: 11px;
line-height: 32px;
text-indent: 6px;
font-family: Quicksand;
font-weight: bold;
cursor: pointer;
text-indent: 10px;
}
.select ul li{
text-indent: 34px;
width: 100%;
background-color: #fff;
cursor: pointer;
}
.select ul li:hover{
background-color: #f26c4f;
}
现在,我的问题是:
当我点击任何一个div.select
子项时,我想显示我点击的同一div的ul
,我尝试了$(this).children('ul).slideDown('normal');
,但没有成功:(
我需要这样的方法,我想使用$(this)
选择器
我不想使用这样的方式:
$('#select_img, #select_text, select_arrow').click(function(){
$('#long ul').slideDown('normal');
});
我希望它是通用的:当我点击任何一个div
元素时,它的ul
就会显示出来。
$(this).find('ul').slideDown('slow');
假设你的$(this)
被正确抓取,我也不认为"正常"是slideDown()
的选项
为什么要在ID
s上绑定事件?它应该在课堂上。
代码:
$('.select_img, .select_text, .select_arrow').click(function(){
$(this).siblings('ul').slideDown();
});
Fiddle:http://jsfiddle.net/k7699nar/
相关文章:
- 自定义导航栏切换(从下拉列表到从左侧滑动)
- 创建自定义函数以在函数上运行完整的多选下拉列表
- CKEditor自定义样式下拉列表,带有预览但没有内联
- jQuery检查自定义Google电子表格页面上输入和下拉列表的更改
- jQuery验证插件-比较两个选择下拉列表的自定义方法
- 如何从自定义下拉列表中获取值
- JQuery Mobile自定义下拉列表问题
- 代码镜像如何创建自定义自动完成下拉列表
- 单元格值未在使用自定义下拉列表编辑器的剑道 UI 网格中正确显示
- 如何在jquery + jquery mobile中创建自定义下拉列表
- Magento :自定义 Ajax 调用下拉列表更改
- 当用户为下拉列表选择值时强制提交,除非该值为“自定义”
- 自定义CSS导航下拉列表
- 剑道网格自定义编辑器下拉列表;t反映选择
- angularjs下拉列表中的自定义过滤器
- 自定义下拉列表
- 如何创建带有自定义选项输入的选择下拉列表
- 将动态创建的下拉列表的自定义属性值添加到另一个元素
- 自定义下拉列表
- 绑定到剑道下拉列表未定义