JQuery实现QQMenu菜单收缩滑动效果

       今天继续学习JQuery,试着做了一个QQMenu的效果。行为页面中的JQuery代码非常少,其中主要得力于JQuery中一个滑动效果slideDown()方法就实现了收缩,其它都是通过show()方法和show()的交替来实现的,我是比较喜欢用这个方法的,老师喜欢用css样式来控制相关元素的隐藏,呵呵,但终效果一样是差不多的,另外我发现JQuery中的选择的方法是非常灵活多样的,在API中写了很多方法,如果用得巧妙和话,会使代码量大大减少。

        同时,我发现了在靠近标准设计的理念中,div,ul,li三者的嵌套关系是不能太过于复杂的,大致只能div-ul-li这样嵌套,如果要在li中嵌套div是不允许的,在ie8中显示是错乱的,在某些低版本的浏览器中会正常显示。但是,还是向标准靠拢好吧。我只好把应该嵌套的ul换成div了,这样就好了。除了使用slideDown()方法,我还第一次使用了hover()方法来控制悬停在li上的高亮显示效果,在文末我会附上效果图的。好了,现在将代码贴在下面,JQuery的笔记已经写过两篇了,一切基本的创建文件夹和文件的方法就不再赘述了,再提醒一下,一样要把JQuery代码库复制到JScript 文件中。

Default.aspx 代码:

Code:
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>   
  2.   
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml" >   
  6. <head runat="server">   
  7.     <title>QQMenu菜单收缩滑动效果</title>   
  8.     <link href="Css/Site.css" type="text/css" rel="stylesheet" />   
  9.     <script language="ecmascript" type="text/javascript" src="Jscript/jquery126.js"></script>   
  10.     <script language="ecmascript" type="text/javascript" src="Jscript/JScript.js"></script>   
  11.   
  12. </head>   
  13. <body>   
  14.    <form id="form1" runat="server">   
  15.         <div id="main">   
  16.             <div id="t1" class="ltag">   
  17.                 我的好友</div>   
  18.             <div id="gf" class="hidden" style="display: block;">   
  19.                 <ul>   
  20.                     <li>张三</li>   
  21.                     <li>李四</li>   
  22.                     <li>王五</li>   
  23.                 </ul>   
  24.             </div>   
  25.             <div id="t2" class="ltag">   
  26.                 我的同事</div>   
  27.             <div id="gw" class="hidden">   
  28.                 <ul>   
  29.                     <li>南瓜</li>   
  30.                     <li>东瓜</li>   
  31.                     <li>西西</li>   
  32.                 </ul>   
  33.             </div>   
  34.             <div id="t3" class="ltag">   
  35.                 我的同学</div>   
  36.             <div id="gc" class="hidden">   
  37.                 <ul>   
  38.                     <li>组长</li>   
  39.                     <li>主管</li>   
  40.                     <li>经理</li>   
  41.                 </ul>   
  42.             </div>   
  43.             <div id="t4" class="ltag">   
  44.                 我的家人</div>   
  45.             <div id="fy" class="hidden">   
  46.                 <ul>   
  47.                     <li>爸爸</li>   
  48.                     <li>妈妈</li>   
  49.                     <li>姐姐</li>   
  50.                 </ul>   
  51.             </div>   
  52.         </div>   
  53.     </form>   
  54. </body>   
  55. </html>   

Css文件夹下的Site.css代码如下:

Code:
  1. body    
  2. {   
  3.     width:800px;   
  4.     margin:0 auto;   
  5. }   
  6.   
  7. #main  
  8. {   
  9.     margin:20px;   
  10.     width:200px;   
  11.     border-left:solid 1px #69bff4;   
  12.     border-right:solid 1px #69bff4;   
  13. }   
  14.   
  15. .ltag   
  16. {   
  17.     margin:0px;   
  18.     font-size:14px;   
  19.     line-height:26px;   
  20.     background-image:url(Images/tag_bg.gif);   
  21.     background-repeat:repeat-x;   
  22.     border-top:solid 1px #69bff4;   
  23.     border-bottom:solid 1px #69bff4;   
  24.     border-collapse:collapse;   
  25.     cursor:default;   
  26. }   
  27. .hidden  
  28. {   
  29.     margin:0px;   
  30.     display:none;   
  31.     height:200px;   
  32.     background-color:#c7def0;   
  33.     border-bottom:solid 1px #69bff4;   
  34.   
  35. }   
  36. ul   
  37. {   
  38.     margin:0;   
  39.   
  40. }   
  41. li   
  42. {   
  43.     display:block;   
  44.     padding:6px;   
  45.     margin-left:-40px;   
  46.     width:117%;   
  47.     line-height:20px;   
  48.     font-size:14px;   
  49.     list-style:none;   
  50.     cursor:default;   
  51. }   
  52. .lb   
  53. {   
  54.     font-size:18px;   
  55.     background-color:#098df2;   
  56. }  

JScript文件夹下的JScript.js代码,这些是用JQuery写的,精华也在里了,呵呵。

Code:
  1. // JScript 文件   
  2.   
  3. $(document).ready(function(){   
  4. $("#t1").bind("click",function(){$("#gf").slideDown("slow");$(".hidden").hide();});   
  5. $("#t2").bind("click",function(){$("#gw").slideDown("slow");$(".hidden").hide();});   
  6. $("#t3").bind("click",function(){$("#gc").slideDown("slow");$(".hidden").hide();});   
  7. $("#t4").bind("click",function(){$("#fy").slideDown("slow");$(".hidden").hide();});   
  8. $("#main li").hover(function(){$(this).addClass("lb");},function(){$(this).removeClass();});   
  9. });   
  10.   
  11.   

 附图:

菜单全部收缩时

       标签滑动开时的效果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值