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 相关文章推荐
有一段有意思的代码-javascript现实多行信息
Aug 26 Javascript
JavaScript XML实现两级级联下拉列表
Nov 10 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
Jun 11 Javascript
Js实现动态添加删除Table行示例
Apr 14 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
May 28 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
node+experss实现爬取电影天堂爬虫
Nov 20 Javascript
关于Vue.js一些问题和思考学习笔记(1)
Dec 02 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
Feb 27 Javascript
浅谈HTTP 缓存的那些事儿
Oct 17 Javascript
vue项目每30秒刷新1次接口的实现方法
Dec 04 Javascript
JS实现数据动态渲染的竖向步骤条
Jun 24 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
hadoop常见错误以及处理方法详解
2013/06/19 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
Laravel 在views中加载公共页面的实现代码
2019/10/22 PHP
jQuery chili图片远处放大插件
2009/11/30 Javascript
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
javascript正则表达式之search()用法实例
2015/01/19 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
2017/09/02 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
node+koa实现数据mock接口的方法
2017/09/20 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
node.js的Express服务器基本使用教程
2019/01/09 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
javascript简单实现深浅拷贝过程详解
2019/10/08 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
[01:37]全新的一集《真视界》——TI7总决赛
2017/09/21 DOTA
[04:59]2018DOTA2亚洲邀请赛 4.7 Mineski夺冠时刻
2018/04/09 DOTA
基于python的ini配置文件操作工具类
2019/04/24 Python
python3 线性回归验证方法
2019/07/09 Python
python设置随机种子实例讲解
2019/09/12 Python
Python: glob匹配文件的操作
2020/12/11 Python
欧克利英国官网:Oakley英国
2019/08/24 全球购物
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
在教室放鞭炮的检讨书
2014/09/28 职场文书
会议接待欢迎标语
2014/10/08 职场文书
护士求职自荐信
2015/03/25 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
golang 生成对应的数据表struct定义操作
2021/04/28 Golang
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS