jQuery+CSS 实现的超Sexy下拉菜单


Posted in Javascript onJanuary 17, 2010

jQuery+CSS 实现的超Sexy下拉菜单 
如何实现
Step 1 HTML

<ul class="topmenu"> 
<li><a href="#">Home</a></li> 
<li><a href="#">Tutorials</a> 
<ul class="submenu1"> 
<li><a href="#">Ch1</a></li> 
<li><a href="#">Ch2</a> 
<ul class="submenu11"> 
<li><a href="#">Ch21</a> 
<ul class="submenu11"> 
<li><a href="#">Ch211</a> 
<ul class="submenu11"> 
<li><a href="#">Ch2111</a> 
<ul class="submenu11"> 
<li><a href="#">Ch21111</a></li> 
<li><a href="#">Ch21112</a></li> 
<li><a href="#">Ch21113</a></li> 
<li><a href="#">Ch21114</a></li> 
<li><a href="#">Ch21115</a></li> 
<li><a href="#">Ch21116</a></li> 
</ul> 
</li> 
<li><a href="#">Ch2112</a></li> 
<li><a href="#">Ch2113</a></li> 
<li><a href="#">Ch2114</a></li> 
<li><a href="#">Ch2115</a></li> 
</ul> 
</li> 
<li><a href="#">Ch212</a></li> 
<li><a href="#">Ch213</a></li> 
<li><a href="#">Ch214</a></li> 
</ul> 
</li> 
<li><a href="#">Ch22</a> 
<ul class="submenu11"> 
<li><a href="#">Ch221</a></li> 
<li><a href="#">Ch222</a></li> 
<li><a href="#">Ch223</a></li> 
</ul> 
</li> 
<li><a href="#">Ch23</a></li> 
</ul> 
</li> 
<li><a href="#">Ch3</a> 
<ul class="submenu11"> 
<li><a href="#">Ch31</a></li> 
<li><a href="#">Ch32</a></li> 
</ul> 
</li> 
</ul> 
</li> 
<li><a href="#">Resources</a> 
<ul class="submenu1"> 
<li><a href="#">Sub Nav Link</a></li> 
<li><a href="#">Sub Nav Link</a></li> 
</ul> 
</li> 
<li><a href="#">About Us</a></li> 
<li><a href="#">Advertise</a></li> 
<li><a href="#">Submit</a></li> 
<li><a href="#">Contact Us</a></li> 
</ul>

Step 2 CSS
<style type="text/css"> 
/* Header */ 
body 
{ 
margin: 0; 
padding: 0; 
font: 10px normal Arial, Helvetica, sans-serif; 
background: #ddd url(images/sexydropdownmenu/body_bg.gif) repeat-x; 
} 
.container 
{ 
width: 960px; 
margin: 0 auto; 
position: relative; 
} 
#header 
{ 
background: url(images/sexydropdownmenu/header_bg.gif) no-repeat center top; 
padding-top: 120px; 
} 
#header .version 
{ 
color: #111; 
font-size: 40px; 
padding: 38px 450px 7px 0; 
text-align: right; 
display: block; 
position: absolute; 
top: 0; 
right: 0; 
} 
#header .disclaimer 
{ 
color: #999; 
padding: 100px 0 7px 0; 
text-align: right; 
display: block; 
position: absolute; 
top: 0; 
right: 0; 
} 
#header .disclaimer a 
{ 
color: #ccc; 
} 
/* Sexy Drop Down Menu */ 
ul.topmenu 
{ 
list-style: none; 
padding: 0 20px; 
margin: 0; 
float: left; 
width: 920px; 
background: #222; 
font-size: 1.2em; 
background: url(images/sexydropdownmenu/topnav_bg.gif) repeat-x; 
} 
ul.topmenu li 
{ 
float: left; 
margin: 0; 
padding: 0 15px 0 0; 
position: relative; /*--Declare X and Y axis base for sub navigation--*/ 
} 
ul.topmenu li a, ul.topmenu li a.hover 
{ 
padding: 10px 5px; 
color: #fff; 
display: block; 
text-decoration: none; 
float: left; 
} 
ul.topmenu li a.hover, ul.topmenu li a:hover 
{ 
background: url(images/sexydropdownmenu/topnav_hover.gif) no-repeat center top; 
} 
ul.topmenu li span 
{ 
/*--Drop down trigger styles--*/ 
width: 17px; 
height: 35px; 
float: left; 
background: url(images/sexydropdownmenu/subnav_btn.gif) no-repeat center top; 
} 
ul.topmenu li span.hover 
{ 
background-position: center bottom; 
cursor: pointer; 
} 
ul.topmenu li ul.submenu1 
{ 
/*--Hover effect for trigger--*/ 
list-style: none; 
position: absolute; /*--Important - Keeps submenu1 from affecting main navigation flow--*/ 
left: 0; 
top: 35px; 
background: #333; 
margin: 0; 
padding: 0; 
display: none; 
float: left; 
width: 170px; 
border: 1px solid #111; 
} 
ul.topmenu li ul.submenu1 li 
{ 
margin: 0; 
padding: 0; 
border-top: 1px solid #252525; /*--Create bevel effect--*/ 
border-bottom: 1px solid #444; /*--Create bevel effect--*/ 
clear: both; 
width: 170px; 
} 
ul.topmenu li ul.submenu1 li a 
{ 
float: left; 
width: 145px; 
background: #333 url(images/sexydropdownmenu/dropdown_linkbg.gif) no-repeat 10px center; 
padding-left: 20px; 
} 
ul.topmenu li ul.submenu1 li a:hover 
{ 
/*--Hover effect for submenu1 links--*/ 
background: #222 url(images/sexydropdownmenu/dropdown_linkbg.gif) no-repeat 10px center; 
} 
ul.topmenu li ul.submenu1 li ul.submenu11 
{ 
list-style: none; 
position: absolute; /*--Important - Keeps submenu11 from affecting main navigation flow--*/ 
left: 170px; 
top: -2px; 
background: #333; 
margin: 0; 
padding: 0; 
display: none; 
float: left; 
width: 170px; 
border: 1px solid #111; 
} 
</style>

Step 3 jQuery
<script type="text/javascript"> 
$(document).ready(function() { 
// Top Menu 
$("ul.submenu1").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled (Adds empty span tag after ul.submenu1*) 
$("ul.topmenu li span").click(function() { //When trigger is clicked... 
//Following events are applied to the submenu1 itself (moving submenu1 up and down) 
$(this).parent().find("ul.submenu1").slideDown('fast').show(); //Drop down the submenu1 on click 
$(this).parent().hover(function() { 
}, function() { 
$(this).parent().find("ul.submenu1").slideUp('slow'); //When the mouse hovers out of the submenu1, move it back up 
}); 
//Following events are applied to the trigger (Hover events for the trigger) 
}).hover(function() { 
$(this).addClass("hover"); //On hover over, add class "hover" 
}, function() { //On Hover Out 
$(this).removeClass("hover"); //On hover out, remove class "hover" 
}); $("ul.topmenu li ul.submenu1 li").hover(function() { 
$(this).find("ul.submenu11:first").show("slow"); 
}, function() { 
$(this).find("ul.submenu11:first").hide("fast"); 
}); 
}); 
</script>

演示代码
https://3water.com/jiaoben/23955.html
Javascript 相关文章推荐
js获取php变量的实现代码
Aug 10 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
Dec 02 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 Javascript
javascript实现简单查找与替换的方法
Jul 22 Javascript
angular使用bootstrap方法手动启动的实例代码
Jul 18 Javascript
微信小程序之数据缓存的实例详解
Sep 29 Javascript
vue父组件向子组件(props)传递数据的方法
Jan 02 Javascript
浅谈Angularjs中不同类型的双向数据绑定
Jul 16 Javascript
vue项目上传Github预览的实现示例
Nov 06 Javascript
原生JS无缝滑动轮播图
Oct 22 Javascript
微信小程序实现简单购物车功能
Dec 30 Javascript
JS与框架页的操作代码
Jan 17 #Javascript
JavaScript写的一个自定义弹出式对话框代码
Jan 17 #Javascript
JavaScript QueryString解析类代码
Jan 17 #Javascript
屏蔽Flash右键信息的js代码
Jan 17 #Javascript
JavaScript学习笔记(十)
Jan 17 #Javascript
AJAX的跨域与JSONP(为文章自动添加短址的功能)
Jan 17 #Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
Jan 15 #Javascript
You might like
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
鼠标图片振动代码
2006/07/06 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
jquery组件使用中遇到的问题整理及解决
2014/02/21 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
一个不错的仿携程自定义数据下拉选择select
2014/09/01 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
快速学习JavaScript的6个思维技巧
2015/10/13 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
Javascript中prototype的使用详解
2016/06/18 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
解决vue 绑定对象内点击事件失效问题
2018/09/05 Javascript
JS判断数组里是否有重复元素的方法小结
2019/05/21 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
Python Flask-web表单使用详解
2017/11/18 Python
详解python中的线程
2018/02/10 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
员工拓展培训方案
2014/02/15 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
应届大学生求职信
2014/07/20 职场文书
技术股份合作协议书
2014/10/05 职场文书
五年级学生期末评语
2014/12/26 职场文书
鼋头渚导游词
2015/02/05 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
python numpy中multiply与*及matul 的区别说明
2021/05/26 Python