一款活動下拉式菜單的製作 ( jQuery & CSS )
Web Design 2010-08-17 16:38:04 閱讀437 評論2 字型大小:大中小 訂閱
之前介紹過幾款導航的製作,反應比較好,今天再為大家介紹一款有子功能表的導航,也是利用 CSS & jQuery 功能製作的。
Step1. 建立HTML
<ul class="topnav">
<li><a href="#">Home</a></li>
<li>
<a href="#">About Me</a>
<ul class="subnav">
<li><a href="#">Sub Nav Link</a></li>
<li><a href="#">Sub Nav Link</a></li>
</ul>
</li>
<li>
<a href="#">Portfolio</a>
<ul class="subnav">
<li><a href="#">Sub Nav Link</a></li>
<li><a href="#">Sub Nav Link</a></li>
<li><a href="#">Sub Nav Link</a></li>
<li><a href="#">Sub Nav Link</a></li>
<li><a href="#">Sub Nav Link</a></li>
</ul>
</li>
<li><a href="#">Blog</a>
<ul class="subnav">
<li><a href="#">Sub Nav Link</a></li>
<li><a href="#">Sub Nav Link</a></li>
<li><a href="#">Sub Nav Link</a></li>
</ul>
</li>
<li><a href="#">Contact Me</a></li>
<li><a href="#">Rss</a></li>
</ul>
Step2. 建立CSS
div.examples_body_wrap { width: 750px;margin: 50px auto 0 auto;clear: both;}div.examples_body_wrap h3 { color: #f9f66d; font-size: 130%; padding-bottom: 15px; margin-bottom: 15px; background: url(http://sunflowamedia.com/images/solid-line-news.gif) repeat-x bottom;}ul.topnav {width: 710px;padding: 0 0 200px 0;float: left;background: #222;background: url(../images/topnav_bg.gif) repeat-x;}ul.topnav li {float: left;margin: 0;padding: 0 10px 0 15px;position: relative; /*--Declare X and Y axis base for sub navigation--*/display: inline;}ul.topnav li a { padding: 10px 5px;color: #fff;display: block;text-decoration: none;float: left;}ul.topnav li a:hover {background-color: #333;-moz-border-radius: 3px; /*--CSS3 Rounded Corners--*/-khtml-border-radius: 3px; /*--CSS3 Rounded Corners--*/-webkit-border-radius: 3px; /*--CSS3 Rounded Corners--*/}ul.topnav li span { /*--Drop down trigger styles--*/width: 17px;height: 35px;float: left;background: url(../images/subnav_btn.gif) no-repeat center top;}ul.topnav li span.subhover { /*--Hover effect for trigger--*/ background-position: center bottom; cursor: pointer;} ul.topnav li ul.subnav {width: 170px;position: absolute; /*--Important - Keeps subnav from affecting main navigation flow--*/left: 0; top: 35px;background: #333;margin: 0; padding: 0;display: none;float: left;border: 1px solid #111;}ul.topnav li ul.subnav li{width: 170px;margin: 0; padding: 0;border-top: 1px solid #252525; /*--Create bevel effect--*/border-bottom: 1px solid #444; /*--Create bevel effect--*/clear: both;}html ul.topnav li ul.subnav li a {width: 145px;float: left;background-color: #333;padding-left: 20px;font-size: 0.9em;}html ul.topnav li ul.subnav li a:hover { /*--Hover effect for subnav links--*/background-color: #222;}
Step3. 插入jQuery和指令碼包
$(document).ready(function(){ $("ul.subnav").parent().append(""); //Only shows drop down trigger when js is enabled (Adds empty span tag after ul.subnav*) $("ul.topnav li span").mouseover(function() { //When trigger is clicked... //Following events are applied to the subnav itself (moving subnav up and down) $(this).parent().find("ul.subnav").slideDown('fast').show(); //Drop down the subnav on click $(this).parent().hover(function() { }, function(){ $(this).parent().find("ul.subnav").slideUp('slow'); //When the mouse hovers out of the subnav, move it back up }); //Following events are applied to the trigger (Hover events for the trigger) }).hover(function() { $(this).addClass("subhover"); //On hover over, add class "subhover" }, function(){ //On Hover Out $(this).removeClass("subhover"); //On hover out, remove class "subhover" }); });
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
*紅字 Mouseover 改成 click 就是點擊後下拉!!!