PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Javascript >> 

jQuery+CSS实现多级下拉菜单

jQuery+CSS实现多级下拉菜单

来源:互联网  作者:  发布时间:2010-08-13
随着计算机网络、通信技术的迅速发展,特别是Internet的发展应

随着计算机网络、通信技术的迅速发展,特别是Internet的发展应用,使人们的行为方式受到巨大的冲击及影响。电子商务作为一种崭新的商务运作方式,带来了一次新的产业革命,这场革命的最终结果将人类带入了信息经济时代。电子商务网站出现如雨后春笋,但中国电子商务的发展较之发达国家尚处于起步阶段,

今天电子商务网站我们随处可见,如淘宝、拍拍、百度有啊……。电子商务在发展,网站技术也在不段的更新。由于电子商务网站的产品和种类的不段增加,以往的一级下拉菜单已经远不能满足现有电子商务网站发展了,多级下拉菜单是今后电子商务网站的新趋势。

一个好的菜单,能为电子商务网站增色不少。下面我就用jQuery+CSS来制做一款多级的下拉菜单。

 

jQuery+CSS实现多级下拉菜单

演示地址:http://www.56mp.cn/upload/mega-dropdowns/

 HTML部分:

就像我的所有导航教程一样,首先创建一个无序列表。

<ul id="topnav">
    <li><a href="http://www.56mp.cn" class="home">Home</a></li>
    <li><a href="http://www.56mp.cn" class="products">Products</a></li>
    <li><a href="http://www.56mp.cn" class="sale">Sale</a></li>
    <li><a href="http://www.56mp.cn" class="community">Community</a></li>
    <li><a href="http://www.56mp.cn" class="store">Store Locator</a></li>
</ul>

CSS部分:

由于我们的下拉菜单将使用绝对定位,所以一定要添加一个相对定位的列表项。

ul#topnav {
margin: 0; padding: 0;
float:left;
width: 100%;
list-style: none;
font-size: 1.1em;
}
ul#topnav li {
float: left;
margin: 0; padding: 0;
position: relative;
}
ul#topnav li a {
float: left;
text-indent: -9999px;
height: 44px;
}
ul#topnav li:hover a, ul#topnav li a:hover { background-position: left bottom; }
ul#topnav a.home {
background: url(nav_home.png) no-repeat;
width: 78px;
}
ul#topnav a.products {
background: url(nav_products.png) no-repeat;
width: 117px;
}
ul#topnav a.sale {
background: url(nav_sale.png) no-repeat;
width: 124px;
}
ul#topnav a.community {
background: url(nav_community.png) no-repeat;
width: 124px;
}
ul#topnav a.store {
background: url(nav_store.png) no-repeat;
width: 141px;
}

子菜单HTML:

添加好子菜单后,每个无序列表要嵌套相应的类值。

 

无序列表嵌套相应的类值

<ul id="topnav">
    <li><a href="#" class="home">Home</a></li>
    <li>
    <a href="#" class="products">Products</a>
        <div class="sub">
            <ul>
                <li><h2><a href="#">Desktop</a></h2></li>
                <li><a href="#">Navigation Link</a></li>
                <li><a href="#">Navigation Link</a></li>
            </ul>


            <ul>
                <li><h2><a href="#">Laptop</a></h2></li>
                <li><a href="#">Navigation Link</a></li>
                <li><a href="#">Navigation Link</a></li>
            </ul>
            <ul>
                <li><h2><a href="#">Accessories</a></h2></li>
                <li><a href="#">Navigation Link</a></li>
                <li><a href="#">Navigation Link</a></li>
            </ul>
            <ul>
                <li><h2><a href="#">Accessories</a></h2></li>
                <li><a href="#">Navigation Link</a></li>
                <li><a href="#">Navigation Link</a></li>
            </ul>
        </div>
    </li>


    <li><a href="#" class="sale">Sale</a></li>
    <li><a href="#" class="community">Community</a></li>
    <li><a href="#" class="store">Store Locator</a></li>
</ul>

子菜单CSS:

ul#topnav li .sub {
position: absolute;
top: 44px; left: 0;
background: #344c00 url(sub_bg.png) repeat-x;
padding: 20px 20px 20px;
float: left;
-moz-border-radius-bottomright: 5px;
-khtml-border-radius-bottomright: 5px;
-webkit-border-bottom-right-radius: 5px;
-moz-border-radius-bottomleft: 5px;
-khtml-border-radius-bottomleft: 5px;
-webkit-border-bottom-left-radius: 5px;
display: none;
}
ul#topnav li .row {
clear: both;
float: left;
width: 100%;
margin-bottom: 10px;
}
ul#topnav li .sub ul{
list-style: none;
margin: 0; padding: 0;
width: 150px;
float: left;
}
ul#topnav .sub ul li {
width: 100%;
color: #fff;
}
ul#topnav .sub ul li h2 {
padding: 0;  margin: 0;
font-size: 1.3em;
font-weight: normal;
}
ul#topnav .sub ul li h2 a {
padding: 5px 0;
background-image: none;
color: #e8e000;
}
ul#topnav .sub ul li a {
float: none;
text-indent: 0;
height: auto;
background: url(navlist_arrow.png) no-repeat 5px 12px;
padding: 7px 5px 7px 15px;
display: block;
text-decoration: none;
color: #fff;
}
ul#topnav .sub ul li a:hover {
color: #ddd;
background-position: 5px 12px ;
}

用jQuery设置鼠标悬停效果

对于那些谁不熟悉jQuery的,你可以看看他们的网站。

调用jQuery的文件

<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

设置自定义配置和触发功能

//Set custom configurations
var config = {
     sensitivity: 2,
     interval: 100,
     over: megaHoverOver,
     timeout: 500,
     out: megaHoverOut
};

$("ul#topnav li .sub").css({'opacity':'0'});
$("ul#topnav li").hoverIntent(config);

转载时请注明出处。此信息出自逸诚科技:http://www.56mp.cn


延伸阅读:
PHP动态的在图片上添加透明度渐变的效果
很眩的半透明下拉菜单导航条
用DIV+js模拟的一个下拉菜单(select)
网页有趣的按钮特效
什么是jquery
jQuery简单应用
25个优秀的下拉菜单导航脚本
12个web开发必须知道的JQuery 技巧
JQuery 常用方法基础教程
用CSS3制作网页下拉菜单代码


3K大小的万能JQuery弹出层类库
Jquery:改善网站体验小细节 点击改变链接的文本
推荐10个jquery动画菜单 十分漂亮的插件
二十个超级酷和最实用的jQuery实例
jQuery 表格插件汇总
jQuery+CSS图片展示特效
jQuery图片切换效果插件
jQuery网页内容切换效果插件
JQuery另类视角-动态执行脚本的BUG
21个演示展示强大的jQuery特效
JSON Jquery Codeigniter 使用详解
jQuery中10个遍历函数
15个最佳jQuery幻灯插件和教程
Tags: jQuery   css   多级   下拉菜单  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号