js 自定义个性下拉选择框示例


Posted in Javascript onAugust 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> 
<link type="text/css" rel="stylesheet" href="../css/statistics.css"/> 
<script src="../js/jquery.js"></script> 
<style type="text/css"> 
.dropdiv{ 
width: 177px; 
height: 16px; 
overflow: hidden; 
float: left; 
font-size: 13px; 
font-family: "微软雅黑"; 
position: relative; 
padding: 5px; 
} 
.drpdown{ 
width: 214px; 
height: 24px; 
font-size: 13px; 
font-family:"微软雅黑"; 
position: relative; 
border:none; 
padding-top:4px; 
background:url(../images/dropdown.png) repeat-x; 
} 
.drpdown:active{ 
width: 214px; 
height: 24px; 
font-size: 13px; 
font-family:"微软雅黑"; 
position: relative; 
border:none; 
padding-top:4px; 
background:url(../images/dropdown.png) repeat-x; 
} 
.droparrow{ 
width:27px; 
height:27px; 
background:url(../images/droparrow.png) no-repeat; 
float:right; 
} 
.droparrow:hover{ 
width:25px; 
height:25px; 
background:url(../images/droparrow.png) no-repeat; 
float:right; 
border:#F00 1px solid; 
} 
.dropmiandiv{ 
margin-left:40px; 
width:214px; 
border: 2px solid #aaaaaa; 
background:url(../images/dropdown.png) repeat-x; 
height: 26px; 
} 
.chooseItems{ 
border:#666 2px solid; 
} 
.chooseItems .chooseItem{ 
font-size: 13px; 
font-family: "微软雅黑"; 
padding: 5px; 
} 
.chooseItems .chooseItem:hover{ 
background:#09F; 
} 
</style> 
</head> <body> 
<div class="dropmiandiv" quest ="select1"> 
<div id ="select1" displayMember="-1" valueMember ="请选择" class="dropdiv">请选择</div> 
<div class="droparrow"></div> 
</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;"> 
<div id ="select2" displayMember="-1" valueMember ="请选择" class="dropdiv">请选择</div> 
<div class="droparrow"></div> 
</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"> 
$(".droparrow").click(function(e){ 
var quest = $(this).parent(); 
var questwidth = parseInt(quest.width()); 
var questheight = quest.height(); 
var left = quest.offset().left; 
var top = parseInt(quest.offset().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).hide(); 
}else{ 
$(selectsd).css({"left":left+"px","top":top+"px","width":questwidth+"px"}).show(); 
} 
}); 
$(".dropdiv").click(function(e){ 
var quest = $(this).parent(); 
var questwidth = parseInt(quest.width()); 
var questheight = quest.height(); 
var left = quest.offset().left; 
var top = parseInt(quest.offset().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).hide(); 
}else{ 
$(selectsd).css({"left":left+"px","top":top+"px","width":questwidth+"px"}).show(); 
} 
}); 
$(".chooseItem").click(function(e){ 
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.html(valueMember); 
parent.change(); 
} 
$(this).parent().hide(); 
}); 
$(".dropdiv").change(function(e){ 
alert($(this).attr("valueMember")); 
}); 
$(".dropmiandiv").mouseleave(function(e){ 
var quest = $(this).attr("quest"); 
$('.chooseItems[answer='+quest+']').hide(); 
}); 
$(".chooseItems").mouseenter(function(e){ 
$(this).show(); 
}); 
$(".chooseItems").mouseleave(function(e){ 
$(this).hide(); 
}); 
</script>
Javascript 相关文章推荐
js 调用百度地图api并在地图上进行打点添加标注
May 13 Javascript
jquery插件star-rating.js实现星级评分特效
Apr 15 Javascript
jQuery插件slides实现无缝轮播图特效
Apr 17 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 Javascript
javascript实现网页端解压并查看zip文件
Dec 15 Javascript
jQuery插件Validate实现自定义校验结果样式
Jan 18 Javascript
论JavaScript模块化编程
Mar 07 Javascript
举例讲解如何判断JavaScript中对象的类型
Apr 22 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
Feb 20 Javascript
基于js 本地存储(详解)
Aug 16 Javascript
微信小程序实现侧边栏分类
Oct 21 Javascript
vue路由 遍历生成复数router-link的例子
Oct 30 Javascript
JavaScript打印iframe内容示例代码
Aug 20 #Javascript
JQuery之focus函数使用介绍
Aug 20 #Javascript
html页面显示年月日时分秒和星期几的两种方式
Aug 20 #Javascript
网页中可关闭的漂浮窗口实现可自行调节
Aug 20 #Javascript
js判断选择的时间是否大于今天的代码
Aug 20 #Javascript
JQuery获取样式中的background-color颜色值的问题
Aug 20 #Javascript
jQuery制作仿腾讯web qq用户体验桌面
Aug 20 #Javascript
You might like
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
使用迭代器 遍历文件信息的详解
2013/06/08 PHP
php简单生成一组与多组随机字符串的方法
2017/05/09 PHP
php实现将二维关联数组转换成字符串的方法详解
2017/07/31 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
jQuery AjaxQueue改进步骤
2011/10/06 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
深入理解python多进程编程
2016/06/12 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
如何更优雅地写python代码
2019/07/02 Python
python批量图片处理简单示例
2019/08/06 Python
如何真正的了解python装饰器
2020/08/14 Python
标准毕业生自荐信范文
2013/11/04 职场文书
军训心得体会
2013/12/31 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
授权委托书格式模板
2014/04/03 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
详解Python中的进程和线程
2021/06/23 Python
win sever 2022如何占用操作主机角色
2022/06/25 Servers