自定义的一个简单时尚js下拉选择框


Posted in Javascript onNovember 20, 2013
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>statistics test</title> 
<script src="../js/jquery.js"></script> 
<style type="text/css"> 
.dropdiv{ 
width: 180px; 
height: 24px; 
overflow: hidden; 
float: left; 
font-size: 13px; 
font-family: "微软雅黑"; 
position: relative; 
padding: 0px 26px 0px 5px; 
border: solid 1px #cecece; 
background: url(../images/droparrow.png) 186px no-repeat; 
} 
.dropmiandiv{ 
margin-left: 40px; 
width: 213px; 
background: url(../images/dropdown.png) repeat-x; 
height: 27px; 
} 
.chooseItems{ 
border: solid 1px #cecece; 
} 
.chooseItems .chooseItem{ 
font-size: 13px; 
font-family: "微软雅黑"; 
padding: 5px; 
border-bottom: solid 1px #cecece; 
} 
.chooseItems .chooseItem:last-child{ 
border-bottom:none; 
} 
.chooseItems .chooseItem:hover{ 
background: #f2f2f2; 
} 
</style> 
</head> <body> 
<div class="dropmiandiv" quest ="select1"> 
<input type="text" readonly="readonly" id ="select1" displayMember="-1" valueMember ="请选择" class="dropdiv" value="请选择"/> 
</div> 
<div class="chooseItems" answer ="select1" style="display:none; position:absolute;"> 
<div class="chooseItem" displayMember="0" valueMember ="独立注册译员">独立注册译员</div> 
<div class="chooseItem" displayMember="1" valueMember ="供应商译员">供应商译员</div> 
<div class="chooseItem" displayMember="2" valueMember ="供应商">供应商</div> 
<div class="chooseItem" displayMember="3" valueMember ="代理商">代理商</div> 
</div> 
<div class="dropmiandiv" quest ="select2" style="position:absolute;top:200px;"> 
<input type="text" readonly="readonly" id ="select2" displayMember="-1" valueMember ="请选择" class="dropdiv" value="请选择"/> 
</div> 
<div class="chooseItems" answer ="select2" style="display:none; position:absolute;"> 
<div class="chooseItem" displayMember="0" valueMember ="独立注册译员">独立注册译员</div> 
<div class="chooseItem" displayMember="1" valueMember ="供应商译员">供应商译员</div> 
<div class="chooseItem" displayMember="2" valueMember ="供应商">供应商</div> 
<div class="chooseItem" displayMember="3" valueMember ="代理商">代理商</div> 
</div> 
</body> 
</html> 
<script type="text/javascript"> 
$(".dropdiv").click(function(e){ 
$(".chooseItems").slideUp(300); 
e.stopPropagation(); 
var quest = $(this).parent(); 
var questwidth = parseInt(quest.width())-2; 
var questheight = quest.height(); 
var left = quest.position().left+parseInt(quest.css("margin-left"))+parseInt(quest.css("padding-left")); 
var top = parseInt(quest.position().top)+parseInt(questheight)+4; 
var attrs = quest.attr("quest"); 
var selectsd = $('.chooseItems[answer='+attrs+']'); 
var selectsdHeight = selectsd.height(); 
if((top+selectsdHeight)>$(window).height()){ 
top = top - selectsdHeight - questheight-7; 
} 
if($(selectsd).is(":visible")){ 
$(selectsd).slideUp(300); 
}else{ 
$(selectsd).css({"left":left+"px","top":top+"px","width":questwidth+"px"}).slideDown(300); 
} 
}); 
$(".chooseItem").click(function(e){ 
e.stopPropagation(); 
var divhtml = $(this); 
var displayMember,valueMember; 
displayMember = divhtml.attr("displayMember"); 
valueMember = divhtml.attr("valueMember"); 
var attrs =$(this).parent().attr("answer"); 
var parent = $("#"+attrs); 
var olddisplayMember,oldvalueMember; 
olddisplayMember = parent.attr("displayMember"); 
oldvalueMember = parent.attr("valueMember"); 
if(olddisplayMember !=displayMember){ 
parent.attr("displayMember",displayMember); 
parent.attr("valueMember",valueMember); 
parent.val(valueMember); 
parent.change(); 
} 
$(this).parent().slideUp(300); 
}); 
$(document).click(function(e){ 
var target = $(e.target); 
if(target.closest(".chooseItems").length == 0){ 
$(".chooseItems").slideUp(300); 
} 
}); 
</script>

效果图
自定义的一个简单时尚js下拉选择框
Javascript 相关文章推荐
表格单元格交错着色实现思路及代码
Apr 01 Javascript
jquery放大镜效果超漂亮噢
Nov 15 Javascript
js写的方法实现上传图片之后查看大图
Mar 05 Javascript
js中的getAttribute方法使用示例
Aug 01 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
Nov 16 Javascript
JS中prototype的用法实例分析
Mar 19 Javascript
JS得到当前时间的方法示例
Mar 24 Javascript
详解vue.js2.0父组件点击触发子组件方法
May 10 Javascript
vue 将页面公用的头部组件化的方法
Dec 18 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 #Javascript
客户端js判断文件类型和文件大小即限制上传大小
Nov 20 #Javascript
JS保留两位小数 四舍五入函数的小例子
Nov 20 #Javascript
使用js简单实现了tree树菜单
Nov 20 #Javascript
js 用CreateElement动态创建标签示例
Nov 20 #Javascript
JS实现字体选色板实例代码
Nov 20 #Javascript
jquery实现树形二级菜单实例代码
Nov 20 #Javascript
You might like
第七章 php自定义函数实现代码
2011/12/30 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
JS判断两个时间大小的示例代码
2014/01/28 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
Python命名空间详解
2014/08/18 Python
用Python的Django框架来制作一个RSS阅读器
2015/07/22 Python
关于python的list相关知识(推荐)
2017/08/30 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
匈牙利墨盒和碳粉购买网站:CDRmarket
2018/04/14 全球购物
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
关于Assembly命名空间的三个面试题
2015/07/23 面试题
linux面试题参考答案(7)
2014/07/24 面试题
百度软件工程师职位
2013/02/14 面试题
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
矿泉水广告词
2014/03/20 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
思想道德自我评价2015
2015/03/09 职场文书
停课通知书
2015/04/24 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis