自定义的一个简单时尚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 相关文章推荐
jQuery EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
Dec 23 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
JavaScript参数个数可变的函数举例说明
Oct 10 Javascript
javascript自定义右键弹出菜单实现方法
May 25 Javascript
很酷的星级评分系统原生JS实现
Aug 25 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
Jul 16 Javascript
如何通过javaScript去除字符串两端的空白字符
Feb 06 Javascript
全面解析js中的原型,原型对象,原型链
Jan 25 Javascript
js作用域及作用域链工作引擎
Jul 07 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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
ThinkPHP多表联合查询的常用方法
2020/03/24 PHP
详解php的socket通信
2015/08/11 PHP
php猜单词游戏
2015/09/29 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
2019/09/16 PHP
jQuery初学:find()方法及children方法的区别分析
2011/01/31 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
jQuery Ajax 异步加载显示等待效果代码分享
2016/08/01 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
常见的python正则用法实例讲解
2016/06/21 Python
详解python基础之while循环及if判断
2017/08/24 Python
Python实现句子翻译功能
2017/11/14 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
解决python3 pika之连接断开的问题
2018/12/18 Python
python3实现猜数字游戏
2020/12/07 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
详解Python 函数参数的拆解
2020/09/02 Python
Python使用xpath实现图片爬取
2020/09/16 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
光电信息专业应届生求职信
2013/10/07 职场文书
四个太阳教学反思
2014/02/01 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
安全生产承诺书范文
2014/05/22 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
2015夏季作息时间调整通知
2015/04/24 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书