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 相关文章推荐
通过 Dom 方法提高 innerHTML 性能
Mar 26 Javascript
javascript 设为首页与加入收藏兼容多浏览器代码
Jan 11 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
Mar 17 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
web前端开发JQuery常用实例代码片段(50个)
Aug 28 Javascript
JavaScript必知必会(九)function 说起 闭包问题
Jun 08 Javascript
jquery插件autocomplete用法示例
Jul 01 Javascript
Node.js用readline模块实现输入输出
Dec 16 Javascript
利用js判断手机是否安装某个app的多种方案
Feb 13 Javascript
Vue.js进行查询操作的实例详解
Aug 25 Javascript
JavaScript根据json生成html表格的示例代码
Oct 24 Javascript
低门槛开发iOS、Android、小程序应用的前端框架详解
Oct 16 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函数array_merge用法一例(合并同类数组)
2013/02/03 PHP
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
DOM基础教程之事件对象
2015/01/20 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
JavaScript实现对下拉列表值进行排序的方法
2015/07/15 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
python自动化测试之setUp与tearDown实例
2014/09/28 Python
python在windows命令行下输出彩色文字的方法
2015/03/19 Python
python求解水仙花数的方法
2015/05/11 Python
在Python操作时间和日期之asctime()方法的使用
2015/05/22 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
详解python数据结构和算法
2019/04/18 Python
python openpyxl使用方法详解
2019/07/18 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
《观舞记》教学反思
2014/04/16 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
快餐公司创业计划书
2014/04/29 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
党员转正党支部意见
2015/06/02 职场文书
在职证明范本
2015/06/15 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server