使用jQuery+CSS如何創建流動導航菜單-Fluid Navigation

作者: 靈動生活  來源: 博客園  發布時間: 2010-02-23 09:35  閱讀: 1962 次  推薦: 0   原文鏈接   [收藏]  

  有時,一個網站的導航菜單文字不能提供足夠的信息,來表達當前菜單按鈕的內容,一般的解決辦法是使用提示信息ToolTip,那么本文介紹的流動導航菜單Fluid Navigation也可以解決此問題,同時也為網站設計的添加了一些時尚而又動感元素。那么我們應該如何實現流動導航菜單呢?

  一、效果圖

  鼠標滑過Menu,即Show提示信息。

  二、實現步驟

  1、CSS代碼

 
menuBarHolder { width: 730px; height:45px; background-color:#000; color:#fff;
font-family:Arial; font-size:14px; margin-top:20px;}
#menuBarHolder ul{ list-style-type:none; display:block;}
#container { margin-top:100px;}
#menuBar li{ float:left; padding:15px; height:16px; width:50px;
border-right:1px solid #ccc; }
#menuBar li a{color:#fff; text-decoration:none; letter-spacing:-1px; font-weight:bold;}
.menuHover { background-color:#999;}
.firstchild { border-left:1px solid #ccc;}
.menuInfo { cursor:hand; background-color:#000; color:#fff;
width:74px; font-size:11px;height:100px; padding:3px; display:none;
position:absolute; margin-left:-15px; margin-top:-15px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-bottomleft: 5px;
-webkit-border-bottom-left-radius: 5px;
-webkit-border-bottom-right-radius: 5px;
-khtml-border-radius-bottomright: 5px;
-khtml-border-radius-bottomleft: 5px;
border-radius-bottomright: 5px;
border-radius-bottomleft: 5px;

  menuBarHolder: 菜單Menu的固定容器,寬度=730px。
  menuInfo:控制提示信息的展示與否。

  2、HTML代碼

 
<div id="menuBarHolder">
<ul id="menuBar">
<li class="firstchild"><a href="javascript:#">Home</a>
<div class="menuInfo">I am some text about the home section</div></li>
<li><a href="javascript:#">Services</a>
<div class="menuInfo">I am some text about the services section</div></li>
<li><a href="javascript:#">Clients</a>
<div class="menuInfo">I am some text about the clients section</div></li>
<li><a href="javascript:#">Portfolio</a>
<div class="menuInfo">I am some text about the portfolio section</div></li>
<li><a href="javascript:#">About</a>
<div class="menuInfo">I am some text about the about section</div></li>
<li><a href="javascript:#">Blog</a>
<div class="menuInfo">I am some text about the blog section</div></li>
<li><a href="javascript:#">Follow</a>
<div class="menuInfo">I am some text about the follow section</div></li>
<li><a href="javascript:#">Contact</a>
<div class="menuInfo">I am some text about the contact section</div></li>
</ul>
</div>
</div>

  UI LI元素:列表元素。  

  DIV元素:提示內容信息。

  3、Javascript代碼

代碼
 
$(document).ready(function()
{
$(
'#menuBar li').click(function()
{

var url = $(this).find('a').attr('href');
document.location.href
= url;
});
$(
'#menuBar li').hover(function()
{
$(
this).find('.menuInfo').slideDown();
},

function()
{
$(
this).find('.menuInfo').slideUp();
});
});

  click()、 hover():給Li元素綁定單擊事件和鼠標滑過事件。

  find()函數:搜索所有與指定表達式匹配的元素。這個函數是找出正在處理的元素的后代元素的好方法。

  slideDown(speed, [callback]):通過高度變化(向下增大)來動態地顯示所有匹配的元素,在顯示完成后可選地觸發一個回調函數。

  slideUp(speed, [callback]):通過高度變化(向上減小)來動態地隱藏所有匹配的元素,在隱藏完成后可選地觸發一個回調函數。

  演示地址:http://addyosmani.com/resources/fluid-menu/fluid-menu.html

  下載地址:http://addyosmani.com/resources/fluid-menu/fluid-menu.zip

0
0
 
標簽:jQuery
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()