div自定义下拉框
因为原生的下拉框不能修改其属性,很难美化下拉框。
所以自己用div简单自定义了一下下拉框,想美化直接修改css即可
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>div模仿下拉框</title>
<style>
*{
padding: 0;
margin: 0;
}
.select-box{
width: 200px;
margin: 50px auto;
text-align: left;
text-indent: 5px;
/* border: 1px solid #ccc; */
padding: 10px;
}
.select-box .select-title{
height: 30px;
line-height: 30px;
display: block;
margin-bottom: 10px;
border: 1px solid #ccc;
padding: 5px 10px;
cursor:pointer;
}
.select-box ul{
border: 1px solid #ccc;
}
.select-box ul li{
height: 30px;
line-height: 30px;
list-style: none;
padding: 5px 10px;
cursor: pointer;
}
.select-box ul li.current{
background: #ebebeb;
}
.select-box ul li:not(:last-of-type){
border-bottom: 1px solid #ccc;
}
.none{
display: none;
}
.block{
display: block;
}
</style>
</head>
<body>
<div class="select-box">
<span class="select-title">web前端</span><!-- 下拉标题 -->
<ul class="select-con none">
<li>web前端</li>
<li>php</li>
<li>java</li>
<li>ios</li>
<li>安卓</li>
</ul>
</div>
<script src="jquery-3.0.0.min.js"></script>
<script>
$(document).bind("click",function(e){
var clickMe=$(e.target);/*获取点击元素*/
if(!clickMe.hasClass("select-title")){/*点击元素不是下拉框标题时*/
$(".select-box ul").addClass("none").removeClass("block");
if(clickMe.parent().hasClass("select-con")){/*点击元素是下拉选项时*/
var currenLiHtml=clickMe.html();/*获取点击的下拉选项HTML*/
clickMe.parent().siblings(".select-title").html(currenLiHtml);/*把点击的下拉选项HTML放到下拉标题*/
clickMe.addClass("current").siblings().removeClass("current");/*给点击的下拉选项加背景色*/
}
}else if(clickMe.siblings(".select-con").hasClass("none")){/*点击下拉标题时如果有none类的话*/
clickMe.parents("body").find(".select-con").addClass("none").removeClass("block");/*点击下拉标题时如果有none类的话,全部下拉关闭,然后在展开当前的下拉*/
clickMe.siblings(".select-con").addClass("block").removeClass("none");
}else if(clickMe.siblings(".select-con").hasClass("block")){/*点击下拉标题时如果有block类下拉是展开的话*/
$(".select-box ul").addClass("none").removeClass("block");
}
})
</script>
</body>
</html>
div自定义下拉框的更多相关文章
- jquery美化select,自定义下拉框样式
select默认的样式比较丑,有些应用需要美化select,在网上找到一个很好的美化样式效果,本人很喜欢,在这里分享一下. <!DOCTYPE html PUBLIC "-//W3C/ ...
- easyui源码翻译1.32--Combo(自定义下拉框)
前言 扩展自$.fn.validatebox.defaults.使用$.fn.combo.defaults重写默认值对象.下载该插件翻译源码 自定义下拉框显示一个可编辑的文本框和下拉面板在html页面 ...
- Combo( 自定义下拉框) 组件
本节课重点了解 EasyUI 中 Combo(自定义下拉框)组件的使用方法,这个组件依赖于ValidateBox(验证框)组件 一. 加载方式自定义下拉框不能通过标签的方式进行创建.<input ...
- 第二百一十二节,jQuery EasyUI,Combo(自定义下拉框)组件
jQuery EasyUI,Combo(自定义下拉框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Combo(自定义下拉框)组件的使用方 ...
- jq--实现自定义下拉框
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- vue自定义下拉框组件
创建下拉框组件 Select.vue <template> <div class="selects"> <div :class="{sele ...
- 关于safari上的select宽高问题小技,自定义下拉框
之前一直用windows做开发,最近换了个mac,在几经折腾之下,安装完了各种开发工具,IDE等,然后欣然打开自己正在开发的网站.突然发现mac上所有的下拉框都变了,都是默认样式,无论padding, ...
- div模拟下拉框
1.模拟下拉框.点击文本框在文本框下面显示一个层divList,点击divList以外的任何地方,关闭divList层 document.body.onclick = function (e) { e ...
- android中自定义下拉框(转)
android自带的下拉框好用不?我觉得有时候好用,有时候难有,项目规定这样的效果,自带的控件实现不了,那么只有我们自己来老老实实滴写一个新的了,其实最基本的下拉框就像一些资料填写时,点击的时候出现在 ...
随机推荐
- VirtualBox装ghost XP
在win7 professional 64上安装了virtualBox4.3.14 r95030 版本,之所以要安装这个vb,是因为刚升级的vm 打开之后很占用cpu, 网上又说vb不是很占用cpu而 ...
- Chrome开发者工具详解
http://www.cnblogs.com/LibraThinker/p/5948448.html http://www.cnblogs.com/LibraThinker/p/5981346.htm ...
- Codeforces Round #380(div 2)
A. 题意:给你一串字符串(<=100),将ogo ogogo ogogogo ogogogogo……这种全部缩成***,输出缩后的字符串 分析:第一遍扫对于那些go的位置,记录下next[i] ...
- 【jQuery】scroll 滚动到顶部
Jquery 实现页面滚动到顶端 $(document).ready(function () { // 滚动窗口来判断按钮显示或隐藏 $(window).scroll(function () { // ...
- .dwg(sw)-exb
尺寸风格:除了标准外合并,合并好后删除. 文本风格:除了标准外合并,合并好后删除.
- u盘安装系统教程详解
一.准备阶段 提前准备一个至少1G或以上的u盘,方便好用. 1.制作u盘启动工具 (1)工具下载,推荐IT天空的优启通 下载地址:https://www.itiankong.net/thread-37 ...
- cxf设置代理访问webservice接口
由于业务上的需要,需要访问第三方提供的webservice接口,但由于公司做了对外访问的限制,不设置代理是不能外网的,如果使用http设置代理访问外网还是比较容易的,但使用cxf有点不知道从哪里入手. ...
- 使用腾讯开发平台获取QQ用户数据资料
<今天是七夕:祝大家七夕嗨皮,前可么么哒,后可啪啪啪> Tips:本篇博客将教你如何使用腾讯开发平台获取QQ用户资料 ----------------------------------- ...
- 如丝般顺滑地从Windows迁移SQLServer数据库到Linux
老鸟看过菜鸟的上一篇<MSSQL On Linux备份与还原>文章后,很满意,但是还是忍不住发问:"这篇文章讲的是MSSQL在Linux系统上的备份与还原,如果我之前是Windo ...
- C#之数组篇
大杂烩 一.数组初始化 1.一维数组 String[] str = new String[3] { "1","2","3"}; ...