这是一款jQuery超酷圆形气泡导航菜单特效插件。在插件中我们使用了 jQuery Easing Plugin 来制作一些非常好看的缓动效果。
HTML结构
html使用一个div .navigation作为wrapper,并给它一个id nav 。:
<div class="navigation" id="nav"> <div class="item user"> <img src="images/bg_user.png" alt="" width="199" height="199" class="circle"/> <a href="#" class="icon"></a> <h2>User</h2> <ul> <li><a href="#">Profile</a></li> <li><a href="#">Properties</a></li> <li><a href="#">Privacy</a></li> </ul> </div> <div class="item home"> <img src="images/bg_home.png" alt="" width="199" height="199" class="circle"/> <a href="#" class="icon"></a> <h2>Home</h2> <ul> <li><a href="#">Portfolio</a></li> <li><a href="#">Services</a></li> <li><a href="#">Contact</a></li> </ul> </div> ... </div>
上面的代码中只列举了两个菜单项。你可以发现,每个菜单项都有两个class:item和一个特定的导航名称,如”home“或”user“。通过这个方法,我们可以很好的控制各个菜单项。
CSS样式
首先来看一下通用css样式:
.navigation{ margin: 0px auto; font-family: "Trebuchet MS", sans-serif; font-size: 24px; font-style: normal; font-weight: bold; letter-spacing: 1.4px; }
为每个菜单项设置绝对定位:
.navigation .item{ position:absolute; }
由于我们已经给div设置两个class,现在我们给每个菜单项设置各自不同的位置:
.user{ top:125px; left:110px; } .home{ top:50px; left:360px; } .shop{ top:90px; left:625px; } .camera{ top:230px; left:835px; } .fav{ top:420px; left:950px; }
超链接元素上的图标的样式如下:
a.icon{ width:52px; height:52px; position:absolute; top:0px; left:0px; cursor:pointer; }
为每个图标定义它们各自的元素:
.user a.icon{ background:transparent url(../images/user.png) no-repeat 0px 0px; } .home a.icon{ background:transparent url(../images/home.png) no-repeat 0px 0px; } .shop a.icon{ background:transparent url(../images/shop.png) no-repeat 0px 0px; } .camera a.icon{ background:transparent url(../images/camera.png) no-repeat 0px 0px; } .fav a.icon{ background:transparent url(../images/fav.png) no-repeat 0px 0px; }
以为图标我们使用了sprite 技术,所以我们能简单的定义”hover“class:
.navigation .item a.active{ background-position:0px -52px; }
圆形图像的样式如下:
.item img.circle{ position:absolute; top:0px; left:0px; width:52px; height:52px; opacity:0.1; }
JAVASCRIPT
在页面中加入jquery和jquery.easing文件:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript" src="jquery.easing.1.3.js"></script>