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中this关键字使用方法详解
Mar 08 Javascript
ASP 过滤数组重复数据函数(加强版)
May 31 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
May 09 Javascript
jquery打开直接跳到网页最下面、最低端实现代码
Apr 22 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
让人蛋疼的JavaScript语法特性
Sep 30 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
Oct 08 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 Javascript
微信小程序绑定手机号获取验证码功能
Oct 22 Javascript
vue.js路由mode配置之去掉url上默认的#方法
Nov 01 Javascript
Node 使用express-http-proxy 做api网关的实现
Oct 15 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
PHP学习之PHP表达式
2006/10/09 PHP
PHP4在Windows2000下的安装
2006/10/09 PHP
php中{}大括号是什么意思
2013/12/01 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
很酷的javascript loading效果代码
2008/06/18 Javascript
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
Python命令行解析模块详解
2018/02/01 Python
Python学生信息管理系统修改版
2018/03/13 Python
Python中staticmethod和classmethod的作用与区别
2018/10/11 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
什么是类的返射机制
2016/02/06 面试题
自我鉴定书面格式
2014/01/13 职场文书
税务会计岗位职责
2014/02/18 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
中国合伙人观后感
2015/06/02 职场文书
导游词之江西赣州
2019/10/15 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
Go标准容器之Ring的使用说明
2021/05/05 Golang
Oracle创建只读账号的详细步骤
2021/06/07 Oracle