js+CSS实现模拟华丽的select控件下拉菜单效果


Posted in Javascript onSeptember 01, 2015

本文实例讲述了js+CSS实现模拟select控件的下拉菜单效果。分享给大家供大家参考。具体如下:

这是一个JS+CSS技术实现的Select控件效果,模拟出来的,比默认的Select更漂亮,有了这个模板,你修改Select就更方便了,由此你也可以将其制作成CSS下拉菜单,在兼容性方面暂未测试,在IE8下没问题。

运行效果截图如下:

js+CSS实现模拟华丽的select控件下拉菜单效果

在线演示地址如下:

具体代码如下:

<!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>模拟select控件</title>
<style> 
html,body{height:100%;overflow:hidden;}
body,div,form,h2,ul,li{margin:0;padding:0;}
ul{list-style-type:none;}
body{background:#23384e;font:12px/1.5 \5fae\8f6f\96c5\9ed1;}
#search,#search form,#search .box,#search .select,#search a{background:url(images/search.jpg) no-repeat;}
#search,#search .box,#search form{height:34px;}
#search{position:relative;width:350px;margin:10px auto;}
#search .box{background-position:right 0;}
#search form{background-repeat:repeat-x;background-position:0 -34px;margin:0 20px 0 40px;}
#search .select{float:left;color:#fff;width:190px;height:22px;cursor:pointer;margin-top:4px;line-height:22px;padding-left:10px;background-position:0 -68px;}
#search a{float:left;width:80px;height:24px;color:#333;letter-spacing:4px;line-height:22px;text-align:center;text-decoration:none;background-position:0 -90px;margin:4px 0 0 10px;}
#search a:hover{color:#f60;background-position:-80px -90px;}
#search .sub{position:absolute;top:26px;left:40px;color:#fff;width:198px;background:#2b2b2b;border:1px solid #fff;display:none;}
#search .sub li{height:25px;line-height:24px;cursor:pointer;padding-left:10px;margin-bottom:-1px;border-bottom:1px dotted #fff;}
#search .sub li.hover{background:#8b8b8b;}
</style>
<script type="text/javascript"> 
window.onload = function ()
{
 var oSelect = document.getElementsByTagName("span")[0];
 var oSub = document.getElementsByTagName("ul")[0];
 var aLi = oSub.getElementsByTagName("li");
 var i = 0;
 oSelect.onclick = function (event)
 {
  var style = oSub.style;
  style.display = style.display == "block" ? "none" : "block";
  //阻止事件冒泡
  (event || window.event).cancelBubble = true
 };
 for (i = 0; i < aLi.length; i++)
 {
  //鼠标划过
  aLi[i].onmouseover = function ()
  {
   this.className = "hover"
  };
  //鼠标离开
  aLi[i].onmouseout = function ()
  {
   this.className = "";
  };
  //鼠标点击
  aLi[i].onclick = function ()
  {
   oSelect.innerHTML = this.innerHTML 
  }
 }
 document.onclick = function ()
 {
  oSub.style.display = "none"; 
 };
};
</script>
</head>
<body>
<div id="search">
 <div class="box">
 <form>
  <span class="select">请选择游戏名称</span> 
  <a href="javascript:;">搜索</a>
 </form>
 </div>
 <ul class="sub">
 <li>地下城与勇士</li>
 <li>魔兽世界(国服)</li>
 <li>魔兽世界(台服)</li>
 <li>热血江湖</li>
 <li>大话西游II</li>
 <li>QQ幻想世界</li>
 </ul>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
日期函数扩展类Ver0.1.1
Sep 07 Javascript
javascript 面向对象编程基础:封装
Aug 21 Javascript
js继承的实现代码
Aug 05 Javascript
javascript标签在页面中的位置探讨
Apr 11 Javascript
JavaScript数组常用操作技巧汇总
Nov 17 Javascript
JavaScript基础——使用Canvas绘图
Nov 02 Javascript
jQuery内存泄露解决办法
Dec 13 Javascript
AngularJS的ng-click传参的方法
Jun 19 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
vue项目常用组件和框架结构介绍
Dec 24 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
Aug 03 jQuery
微信小程序新手教程之启动页的重要性
Mar 03 Javascript
JQuery自适应窗口大小导航菜单附源码下载
Sep 01 #Javascript
js实现简洁大方的二级下拉菜单效果代码
Sep 01 #Javascript
js实现点击向下展开的下拉菜单效果代码
Sep 01 #Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 #Javascript
js实现具有高亮显示效果的多级菜单代码
Sep 01 #Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 #Javascript
JS实现黑客帝国文字下落效果
Sep 01 #Javascript
You might like
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
基于Vue.js 2.0实现百度搜索框效果
2020/12/28 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
[37:21]完美世界DOTA2联赛PWL S2 Inki vs Magma 第二场 11.22
2020/11/24 DOTA
python检测服务器是否正常
2014/02/16 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
深入理解python中的浅拷贝和深拷贝
2016/05/30 Python
python3 读写文件换行符的方法
2018/04/09 Python
Python3读取Excel数据存入MySQL的方法
2018/05/04 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
python 消费 kafka 数据教程
2019/12/21 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
CSS3制作圆角图片和椭圆形图片
2016/07/08 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
Allsole美国/加拿大:英国一家专门出售品牌鞋子的网站
2018/10/21 全球购物
应聘教师推荐信
2013/10/31 职场文书
前台接待的工作职责
2013/11/21 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
安全教育培训制度
2015/08/06 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书