100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > JavaScript模拟下拉菜单代码_表单特效

JavaScript模拟下拉菜单代码_表单特效

时间:2024-03-24 20:04:33

相关推荐

JavaScript模拟下拉菜单代码_表单特效

web前端|js教程

JavaScript,模拟,下拉菜单

web前端-js教程

优点:点击body区域同样可以隐藏下拉菜单,且不会和body已有的onclick事件冲突。

缺点:请大家指出,虚心接受!

运行框代码看似繁多,实属无奈,请下载附件,以便更好观察或修改~!

文件管理器 源码,ubuntu快照在哪,tomcat8.5跨域,动物视频爬虫,html和php结尾区别,dizcuz seolzw

下拉菜单

云划算v2.0源码,vscode保存不格式化,ubuntu终端前缀,tomcat偶尔无响应,爬虫人日记,斗鱼 php 笔试题,大兴区品牌seo服务成本lzw

body{margin:20px auto;font-family:Arial, Helvetica, sans-serif;font-size:12px;width:950px;height:400px;border:solid 1px #aaa; position:relative;padding:10px;} ul{margin:0;padding:0;list-style:none;} .dropDownList{position:absolute;left:100px;top:100px;} /* .dropDownList div.dropdown select{display:none;}*/ .dropDownList div.dropdown{float:left;margin-right:50px;width:200px;} .dropDownList span{display:block;width:146px;height:26px;background:url(http://3./_bdBPvgEipxw/SRMUkLCdX0I/AAAAAAAAAP8/HgDXLapwpAw/s320/select.jpg) left top no-repeat;line-height:26px;text-indent:12px;border:solid 1px #83BBD9;cursor:default;} .dropDownList span.over{background-position:left bottom;border-color:#B4C91A;}.dropDownList ul{background:#eee;width:200px;display:none;} .dropDownList ul li{height:20px;width:100%;padding:3px 0;text-indent:12px;cursor:default;} .dropDownList ul li.over{background:#ccc;}.dropDownList ul.show{display:block;}

网站地图自动生成源码,vscode 改设置,ubuntu 监视器命令,tomcat手写,SQLite空库,服务器远程端口范围,在线文档 插件,前端开发框架schema,如何提高爬虫效率,php别称,苏州谷歌seo招聘,手机网站上的广告代码,带注册功能的网页代码,wp手机模板,iphone 页面局部滑动,php 管理系统,易语言源代码修复程序lzw

JavaScript模拟下拉菜单,做的仓促,虚心接受批评。

请选择19881989

请选择年份

性别男女

请选择性别

幼儿班小学初中

请选择学历

// JavaScript Document var ____configArray; function __initDropDownList(configArray){//获取Select菜单____configArray=configArray;var existArray=configArray.split(“|”);for(var i=0;i<existArray.length;i++){ if(existArray[i].length<1){return;} //根据参数分别获取div,并分别添加事件 var parentContainer=document.getElementById(existArray[i]); if(!parentContainer){return;} //获取下面的select,且获取其中的option var selectObj=parentContainer.getElementsByTagName("select"); if(selectObj.length<1){return;} var optionArray=selectObj[0].getElementsByTagName("option"); //获取option,并分别添加到各个li var optionLength=optionArray.length; for(var j=0;j<optionLength;j++){ //获取ul,以便能够添加项目 var ulObj=parentContainer.getElementsByTagName("ul"); if(ulObj.length<1){return;} //获取span,以便能显示当前选择的项目 var spanObj=parentContainer.getElementsByTagName("span"); if(spanObj.length<1){return;} var liObj=document.createElement("li"); var textNode=document.createTextNode(optionArray[j].firstChild.nodeValue) liObj.appendChild(textNode); liObj.setAttribute("currentIndex",j); //给每个liObj添加事件 liObj.onclick=function(){ selectCurrentItem(this.parentNode,this); } liObj.onmouseover=function(){this.className="over";} liObj.onmouseout=function(){this.className="";} ulObj[0].appendChild(liObj); spanObj[0].onclick=function(event){ //如果当前是显示的,就隐藏,反之亦然 showHiddenUl(this); } spanObj[0].onmouseover=function(){this.className=over;} spanObj[0].onmouseout=function(){this.className="";}; ulObj[0].onclick=function(){this.className="";} } parentContainer.onclick=function(event){ if(!event){event=window.event;} //阻止事件冒泡 event.cancelBubble=true; var eventUlObj=this.getElementsByTagName("ul")[0]; bodyClickHiddenUl(eventUlObj); }} } function selectCurrentItem(ulObj,currentObj){var parentObj=ulObj.parentNode;var spanObj=parentObj.getElementsByTagName("span")[0];spanObj.firstChild.nodeValue=currentObj.firstChild.nodeValue;var selectObj=parentObj.getElementsByTagName("select")[0];selectObj.selectedIndex=parseInt(currentObj.getAttribute("currentIndex")); } function showHiddenUl(currentObj){var parentNode=currentObj.parentNode;var ulObj=parentNode.getElementsByTagName("ul")[0];if(ulObj.className==""){ ulObj.className="show";}else{ ulObj.className="";} } //点击body区域(非"下拉菜单")隐藏菜单 function addBodyClick(func) {var bodyObj=document.getElementsByTagName("body")[0];var oldBodyClick = bodyObj.onclick; if (typeof bodyObj.onclick != function) { bodyObj.onclick = func; } else { bodyObj.onclick = function() { oldBodyClick(); func(); }} } //隐藏所有的UL function bodyClickHiddenUl(eventUlObj){var existArray=____configArray.split("|");for(var i=0;i<existArray.length;i++){ if(existArray[i].length<1){return;} //寻找所有UL并且隐藏 var parentContainer=document.getElementById(existArray[i]); if(!parentContainer){return;} var ulObj=parentContainer.getElementsByTagName("ul"); if(eventUlObj!=ulObj[0]){ ulObj[0].className=""; }} } var __dropDownList="dropDownList1|dropDownList2|dropDownList3"; __initDropDownList(__dropDownList); //添加这个可以确保点击body区域的时候 也可以隐藏菜单 addBodyClick(bodyClickHiddenUl);

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。