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 相关文章推荐
JavaScript 权威指南(第四版) 读书笔记
Aug 11 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
Apr 27 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
详解javascript事件冒泡
Jan 09 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
Mar 30 Javascript
jquery Deferred 快速解决异步回调的问题
Apr 05 Javascript
animate 实现滑动切换效果【实例代码】
May 05 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
May 08 Javascript
原生JS实现旋转轮播图+文字内容切换效果【附源码】
Sep 29 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
JS+CSS实现过渡特效
Jan 02 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
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
10 个经典PHP函数
2013/10/17 PHP
php导入导出excel实例
2013/10/25 PHP
浅谈json_encode用法
2015/03/05 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
angularjs实现猜大小功能
2017/10/23 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
vue h5移动端禁止缩放代码
2019/10/28 Javascript
node.js中对Event Loop事件循环的理解与应用实例分析
2020/02/14 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
python密码错误三次锁定(实例讲解)
2017/11/14 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
Python 防止死锁的方法
2020/07/29 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
Foot Locker加拿大官网:美国知名运动产品零售商
2019/07/21 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
跟单文员岗位职责
2014/01/03 职场文书
银行授权委托书范本
2014/10/04 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
农村老人去世追悼词
2015/06/23 职场文书
app场景下uniapp的扫码记录
2022/07/23 Java/Android