自定义的一个简单时尚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 相关文章推荐
js正文内容高亮效果的实现方法
Jun 30 Javascript
高性能JavaScript 重排与重绘(2)
Aug 11 Javascript
JQuery标签页效果实例详解
Dec 24 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
基于jquery插件实现拖拽删除图片功能
Aug 27 Javascript
jQuery中的deferred使用方法
Mar 27 jQuery
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
Jun 25 Javascript
Vue下路由History模式打包后页面空白的解决方法
Jun 29 Javascript
Angular6笔记之封装http的示例代码
Jul 27 Javascript
详解React中合并单元格的正确写法
Jan 08 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 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 冲泡冲煮
php中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
2013/06/18 PHP
浅析PHP 按位与或 (^ 、&amp;)
2013/06/21 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
jquery插件之easing使用
2010/08/19 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
javascript 闭包详解
2015/07/02 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
如何利用JQuery实现从底部回到顶部的功能
2016/12/27 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
python获取外网ip地址的方法总结
2015/07/02 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
2019/06/20 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
python实现用户名密码校验
2020/03/18 Python
财务会计实习报告体会
2013/12/20 职场文书
运动会解说词200字
2014/02/06 职场文书
工程项目建议书范文
2014/03/12 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
2015年中个人总结范文
2015/03/10 职场文书
python用tkinter开发的扫雷游戏
2021/06/01 Python