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 学习笔记(十六) js事件
Feb 01 Javascript
js之onload事件的一点使用心得
Aug 14 Javascript
使用javascript获取页面名称
Dec 23 Javascript
JS获取Table中td值的方法
Mar 19 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
Oct 10 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
Jquery on绑定的事件 触发多次实例代码
Dec 08 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
Aug 19 Javascript
jQuery实现弹出层效果
Dec 10 jQuery
你知道JavaScript Symbol类型怎么用吗
Jan 08 Javascript
JS实现简易日历效果
Jan 25 Javascript
vue+echarts实现多条折线图
Mar 21 Vue.js
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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
windows xp下安装pear
2006/12/02 PHP
php下删除字符串中HTML标签的函数
2008/08/27 PHP
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
php 生成短网址原理及代码
2014/01/23 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
vue2.0 父组件给子组件传递数据的方法
2018/01/15 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
Python中的self用法详解
2019/08/06 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
Python-openpyxl表格读取写入的案例详解
2020/11/02 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
运动会解说词50字
2014/01/18 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书