早前发现了 Soh Tanaka 分享的非常 Sexy 的 Drop Down Menu w/ jQuery & CSS,稍作修改实现了多级下拉,并实现了 ASP.NET 中通过输出 HTML 动态创建版本,有兴趣的童鞋可以包装成 Server Control。

如何实现

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>

在线演示

HTML 版本:http://samples.leoworks.net/demo2010/sexydropdownmenu2010/sexymenu21.html

ASP.NET 动态 版本:http://samples.leoworks.net/demo2010/sexydropdownmenu2010/sexymenu21.aspx

完整下载

http://samples.leoworks.net/demo2010/sexydropdownmenu2010/LeoLab.SexyDropDownMenu2010.zip

English Edition

http://blogs.leoworks.net/jinglecat/post/sexy-drop-down-menu-2010(en).aspx

转载于:https://www.cnblogs.com/Jinglecat/archive/2010/01/15/1648233.html

CSS + jQuery 实现的超 Sexy 下拉菜单相关推荐

  1. jQuery实现一个淡入淡出下拉菜单 非常简易

    前段时间我一直在向大家推荐CSS3和HTML5的东西,尽管看上去很炫,但也有不少网友抱怨兼容性问题,所以今天开始我也会陆续向大家介绍一些兼容性较好的jQuery插件.今天先分享一款利用jQuery实现 ...

  2. 纯CSS实现简约大方灰紫色下拉菜单代码

    代码简介:又一个漂亮的纯CSS实现的下拉导航菜单,横向布局,适合作网站导航条,银色渐变色,鼠标放上更换菜单背景,用户体验极好,而且兼容性好,特别是对IE比较友好,火狐下也几乎不错位,推荐给站长使用. ...

  3. HTML下拉菜单怎么做成横向,JQuery实现绚丽的横向下拉菜单

    以前经常看见网站有菜单的显示,鼠标移上去就出现下拉的效果,很绚丽,经过看JQuery视频后,发现实现也挺容易的. Html中,通过 和 标签将所需的元素写出来. 代码如下: 菜单项1 子菜单项11 子 ...

  4. 基于jQuery带图标的多级下拉菜单

    之前为大家分享了很多导航菜单.今天我们要来分享一款很不错的jQuery左侧带小图标的多级下拉菜单,菜单是垂直的,每一个菜单项带有一个小图标,看起来非常专业.并且菜单支持无限极下拉,所以对各位Web开发 ...

  5. b站pink老师JavaScript的jQuery 案例代码——新浪下拉菜单

    目录 jQuery中:[使用jquery,记得要引入jquery文件] 用到的重点代码/原理: 1.原案例版本(不简洁,效果较为僵硬) 2.简洁+优化1.0版部分:(中等简洁,效果较柔和) 3.简洁+ ...

  6. html下拉菜单图片,JS+CSS 制作的超级简单的下拉菜单附图

    先看效果: 代码: Good Test function showSubMenu(SubMenu) { document.getElementById(SubMenu).style.display = ...

  7. 【jQuery笔记Part2】02-jQuery展开收起动画帷幔效果案例下拉菜单案例显示隐藏更多案例折叠菜单案例

    展开&收起动画&案例 HTML DOM overflow 属性 展开 slideDown(毫秒, 完成回调函数) 收起 slideUp(毫秒, 完成回调函数) 切换 slideTogg ...

  8. php菜单栏样式,最常见的多个css下拉菜单样式分享

    CSS下拉菜单怎么做?在浏览网页的时候我们总会看到各式各样的下拉菜单,那么这些下拉菜单是怎么实现的呢?本篇文章就来给大家分享一下常用的多个CSS下拉菜单的实现方法. CSS下拉菜单的精选文章 随便打开 ...

  9. jquery实现简单的下拉菜单

    本文用简单的几行jquery代码实现简单的下拉菜单效果 看效果 html <ul><li>主题市场<ul><li>运动派<ul><li ...

最新文章

  1. OpenCV中直方图反向投影算法详解与实现
  2. Basic local alignment search tool (BLAST)
  3. android studio中创建、切换svn分支
  4. python 取日期_python取出所有的日期
  5. 基于Matlab的跨孔CT胖射线追踪算法(三)
  6. 9.2 配置rsync+inotify实时同步
  7. libgdx游戏引擎开发笔记(八)SuperJumper游戏例子的讲解(篇二)---- 游戏界面跳转...
  8. MySQL详细学习教程(建议收藏)
  9. bcc语料库下载_大数据背景下BCC语料库的研制_荀恩东
  10. SAS安装过程中出现unknow等或没有生成ip地址问题的解决办法
  11. 非直角平面坐标系下的坐标换算
  12. 【雷达信号处理】---模糊函数与仿真
  13. FTP,SFTP,FTPS,TF区别
  14. Spring Cloud OAuth2 认证流程
  15. 爱折腾星人必备工具 - 系统重启还原精灵 -/ 影子卫士
  16. python常用语音识别库_python语音识别
  17. 实现国产化转型,ZStack Cloud 助力中铁财务数字化转型!
  18. 魔方二维动态还原过程MATLAB仿真/魔方二维平面展开
  19. 电子琴节奏包制作_MIDI音乐制作基础必备
  20. 什么是CDN?什么又是高防CDN?

热门文章

  1. python函数测试_Python测试函数的方法之一
  2. 不会英语学习c语言和java,我想学电脑JAVA,但不懂英文,可以学吗?怎么才能学好呢...
  3. java cookie共享_cookie共享
  4. php5.2 sqlserver2000,Linux系统下让PHP连sqlserver2000
  5. python中怎样使用re模块_python如何导入re模块
  6. newtonsoft 数组反序列化_漏洞学习篇之反序列化
  7. Google Jump Consistent Hash 一致性哈希算法
  8. TENER: Adapting Transformer Encoder for Name Entity Recognition
  9. ObjC学习10-Foundation框架之内存管理
  10. android PowerManager 权限问题