js实现select下拉框菜单


Posted in Javascript onDecember 08, 2015

本文实例讲述了js实现select下拉框菜单的详细代码。分享给大家供大家参考。具体如下:
运行效果截图如下:

js实现select下拉框菜单

具体代码如下:

<!DOCTYPE html>

<html>

<head>
 <title></title>
 <style type="text/css">
  #gridComboBox {
  background: #fff;
  border: 1px solid #2d78f4;
  border-radius: 2px;
  -moz-box-shadow: inset 0 0 4px #06c;
  -webkit-box-shadow: inset 0 0 4px #06c;
  box-shadow: inset 0 0 4px #06c;
 }
 </style>
</head>

<body>
 <input onclick="doClick(this,'ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee')" />
 <input onclick="doClick(this,'ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee')" style='width: 300px;' />
 <p><b>Needed Properties:</b> sender.offsetTop & sender.offsetLeft & sender.offsetHeight</p>
</body>

</html>
<script type="text/javascript">

function delGridComboBox() { // 删除弹出框
 var divContainer = document.getElementById('gridComboBox');
 if (divContainer) {
  divContainer.parentNode.removeChild(divContainer);
 }
}

function doClick(sender, str) {//str='ddd(aa/bb/cc/erererer/dfdfdfdfdfdfdfdfdfdfdfdfdf/ejjejrjerjer//erererer ////////)eee' 只取()得内容/分割做为数据源

 delGridComboBox();

 // console.log(sender);
 // for(var i in sender) 
 // {
 //  console.log(i+"|"+sender[i]);
 // }

 
 var re = /[^\)\(]*/g //取出()中的内容作为下拉数据源
 var fit = str.match(re);
 var fmt = fit[2].split('/');

 var divContainer = document.createElement('div');
 divContainer.style.width = sender.clientWidth + 2 + "px";
 divContainer.style.overflow = "hidden";
 divContainer.style.position = 'absolute'; 
 divContainer.style.top = sender.offsetTop + sender.offsetHeight + 'px';
 divContainer.style.left = sender.offsetLeft + 'px';
 divContainer.style.zIndex = 999;
 divContainer.id = "gridComboBox";

 for (var i = 0; i < fmt.length; i++) {  

  console.log('fmt[i]>>', fmt[i]);
  var txt = document.createElement('div'); 
  txt.innerHTML = fmt[i];
  txt.title = txt.innerHTML;
  txt.style.margin = 3+'px';  
  txt.addEventListener('mouseover', function changeBg(event) {
   event.target.style.fontWeight = 'bold';
   event.target.style.color = 'white';
   event.target.style.backgroundColor = '#2d78f4';
  }, false);
  txt.addEventListener('mouseout', function unChangeBg(event) {
   event.target.style.fontWeight = 'normal';
   event.target.style.color = 'black';
   event.target.style.backgroundColor = 'white';
  }, false);
  txt.onclick = function(subSender) {
   sender.value = subSender.target.innerText;
   delGridComboBox();
  };
  divContainer.appendChild(txt);
 };
 
 document.body.appendChild(divContainer);
};
</script>

如果大家还想深入学习,可以点击jquery下拉框效果汇总、JavaScript下拉框效果汇总进行学习。

以上就是js实现select下拉框菜单的代码,希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
js setattribute批量设置css样式
Nov 26 Javascript
juqery 学习之五 文档处理 插入
Feb 11 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 Javascript
javascript中的作用域和闭包详解
Jan 13 Javascript
js将json格式的对象拼接成复杂的url参数方法
May 25 Javascript
实例解析jQuery工具函数
Dec 01 Javascript
jQuery常见的选择器及用法介绍
Dec 20 Javascript
利用vue.js插入dom节点的方法
Mar 15 Javascript
Angular2 自定义validators的实现方法
Jul 05 Javascript
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
Sep 17 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
Dec 07 #Javascript
JavaScript的代码编写格式规范指南
Dec 07 #Javascript
JSON遍历方式实例总结
Dec 07 #Javascript
JS实现日期时间动态显示的方法
Dec 07 #Javascript
基于jQuey实现鼠标滑过变色(整行变色)
Dec 07 #Javascript
js实现遍历含有input的table实例
Dec 07 #Javascript
JavaScript中的return语句简单介绍
Dec 07 #Javascript
You might like
php 信息采集程序代码
2009/03/17 PHP
php代码收集表单内容并写入文件的代码
2012/01/29 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
YII框架关联查询操作示例
2019/04/29 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
2020/03/23 PHP
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
python 生成不重复的随机数的代码
2011/05/15 Python
python基础教程之数字处理(math)模块详解
2014/03/25 Python
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
python方向键控制上下左右代码
2018/01/20 Python
Python实现k-means算法
2018/02/23 Python
python实现的自动发送消息功能详解
2019/08/15 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
通过Python实现一个简单的html页面
2020/05/16 Python
使用css3 属性如何丰富图片样式(圆角 阴影 渐变)
2012/11/22 HTML / CSS
西班牙英格列斯百货英国官网:El Corte Inglés英国
2017/10/30 全球购物
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
生产内勤岗位职责
2013/12/07 职场文书
初二学习计划书范文
2014/04/27 职场文书
公司晚会策划方案
2014/05/17 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
给老师的保证书怎么写
2015/05/09 职场文书