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 相关文章推荐
常用参考资料(手册)下载或者链接
Jul 22 Javascript
一些不错的js函数ajax
Aug 20 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
Jun 18 Javascript
基本jquery的控制tabs打开的数量的代码
Oct 17 Javascript
用jquery实现自定义风格的滑动条实现代码
Apr 26 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
May 14 Javascript
jQuery中remove()方法用法实例
Dec 25 Javascript
简介JavaScript中fixed()方法的使用
Jun 08 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
javascript实现页面滚屏效果
Jan 17 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 jQuery
JavaScript中call和apply方法的区别实例分析
Aug 03 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 中文和编码判断代码
2010/05/16 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
jQuery 全选 全部选 反选 实现代码
2016/08/17 Javascript
JS 循环li添加点击事件 (闭包的应用)
2016/12/10 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
js实现九宫格抽奖
2020/03/19 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
nuxt静态部署打包相对路径操作
2020/11/06 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
Python使用urllib模块对URL网址中的中文编码与解码实例详解
2020/02/18 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
在Python中实现字典反转案例
2020/12/05 Python
Python实现自动整理文件的脚本
2020/12/17 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
上班玩游戏检讨书
2014/02/07 职场文书
超市店庆活动方案
2014/08/31 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
精神文明建设先进个人事迹材料
2014/12/24 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书