<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【教程】jQuery打造動(dòng)態(tài)下滑菜單

        本教程將分步講解如何使用JQuery和CSS打造一個(gè)炫酷動(dòng)感菜單。jQuery的"write less, do more"的特性可謂是家喻戶曉,即使沒有很豐富JS編程經(jīng)驗(yàn)的人,也可以通過其提供的API很快學(xué)會(huì)如何使用,當(dāng)然,如果您經(jīng)驗(yàn)豐富,我還是建議您可以理解jQuery各主要函數(shù)的實(shí)現(xiàn)原理,其他不說了,直接看看如何用它來實(shí)現(xiàn)菜單神奇的效果吧。

      您可以點(diǎn)擊查看演示,也可以點(diǎn)擊下載源代碼

       

      Step1 - HTML結(jié)構(gòu)

        看一下菜單的HTML代碼,跟平常的菜單代碼沒有什么區(qū)別:

      <div id="menu" class="menu">
      <ul>
      <li><a href="javascript:;">Home</a></li>
      <li><a href="javascript:;">HTML/CSS</a></li>
      <li><a href="javascript:;">JavaScript</a></li>
      <li><a href="javascript:;">Resources</a></li>
      <li><a href="javascript:;">Tutorials</a></li>
      <li><a href="javascript:;">About</a></li>
      </ul>
       </div>

        關(guān)鍵在于利用腳本在每個(gè)錨點(diǎn)(a元素)中建立幾個(gè)分隔層,這樣就可以在鼠標(biāo)懸停時(shí)分別控制它們產(chǎn)生動(dòng)畫。為此,我們要在DOM加載完成時(shí)候修改DOM的結(jié)構(gòu),使得每個(gè)錨點(diǎn)代碼變成如下:

      <a href="javascript:;">
      <span class="out">Home</span>
      <span class="bg"></span>
      <span class="over">Home</span>
      </a>

        原先的每個(gè)錨點(diǎn)中的內(nèi)容會(huì)被附加到兩個(gè)span元素(.out和.over)里面,另外一個(gè)span元素(.bg)為背景圖片層。

        至于如何修改DOM結(jié)構(gòu),JS代碼將在Step3中講解。

       

      Step2 - CSS樣式

        在示例中,展示了兩種樣式,有使用背景圖的和沒有使用背景圖的(具體查看演示),您也可以自由定制自己的樣式,以設(shè)計(jì)出更炫酷的菜單,這里提供基本的樣式和解釋:

      /* 以下是菜單基本的樣式 */
      .menu ul li {
      float
      : left;
      /* 菜單子元素的內(nèi)容超出不可見 */
      overflow
      : hidden;
      /* 以下省略部分代碼 */
      }
      .menu ul li a
      {
      /* 必須是相對(duì)定位 */
      position
      : relative;
      display
      : block;
      width
      : 110px;
      /* 以下省略部分代碼 */
      }
      .menu ul li a span
      {
      /* 所有層將使用絕對(duì)定位 */
      position
      : absolute;
      left
      : 0;
      width
      : 110px;
      }
      .menu ul li a span.out
      {
      top
      : 0px;
      }
      .menu ul li a span.over,
      .menu ul li a span.bg
      {
      /* 起初.over層和.bg層相對(duì)a元素-45px以達(dá)到隱藏的效果 */
      top
      : -45px;
      }

      /* 以下是使用背景圖的示例 */
      #menu
      {
         /* 菜單背景 */
      background
      :url(bg_menu.gif) scroll 0 -1px repeat-x;
      border
      :1px solid #CCC;
      }
      #menu ul li a
      {
      color
      : #000;
      }
      #menu ul li a span.over
      {
      color
      : #FFF;
      }
      #menu ul li span.bg
      {
         /* 指定高度和背景圖 */
      height
      : 45px;
      background
      : url(bg_over.gif) center center no-repeat;
      }

        您也可以在自行定制CSS樣式,這里還提供了簡(jiǎn)化版的樣式(查看演示

       

      Step3 - JavaScript代碼

        首先要做的是,實(shí)現(xiàn)Step1中所說的,在DOM加載完成后修改其DOM結(jié)構(gòu),具體做法如下:

      // 把每個(gè)a中的內(nèi)容包含到一個(gè)層(span.out)中,
      // 然后再在span.out層后面追加背景圖層(span.bg)
      $("#menu li a").wrapInner( '<span class="out"></span>' )
               .append( '<span class="bg"></span>' );
      // 循環(huán)為菜單的a每個(gè)添加一個(gè)層(span.over)
      $("#menu li a").each(function() {
        $(
      '<span class="over">' + $(this).text() + '</span>' )
               .appendTo( this );
      });

        在講動(dòng)畫代碼之前,先看一下動(dòng)畫的過程,如下圖所示:

        在Step1中我們知道DOM加載后,a元素中建立了幾個(gè)分隔層,在Step2中,CSS樣式中,我們?cè)O(shè)置了span.bg和span.over層的top屬性為-45px,因?yàn)閟pan元素已設(shè)置為絕對(duì)定位,它將相對(duì)于li a 元素向上-45px,因?yàn)閘i元素內(nèi)容超出不可見,所以開始時(shí),.bg層和.over層位于空間范圍外。

        我們要設(shè)置的動(dòng)畫過程是,當(dāng)鼠標(biāo)懸停時(shí),三個(gè)層同時(shí)向下移動(dòng),span.out層向下移動(dòng)至移除可見范圍,span.over和span.bg移動(dòng)進(jìn)入可見區(qū)域,設(shè)置span.bg速度比span.over速度稍快,錯(cuò)位產(chǎn)生更加效果。

        要實(shí)現(xiàn)這樣動(dòng)畫效果,使用jQuery的.animate()方法很容易就可以實(shí)現(xiàn),以下是JS代碼和解釋:

      $("#menu li a").hover(function() {
        // 鼠標(biāo)懸停時(shí)候被觸發(fā)的函數(shù)
      $(".out",this).stop().animate({'top':'45px'},250);//下滑至隱藏
      $(".over",this).stop().animate({'top':'0px'},250); //下滑至顯示
      $(".bg",this).stop().animate({'top':'0px'},120); //下滑至顯示
      },
      function() {
      // 鼠標(biāo)移出時(shí)候被觸發(fā)的函數(shù)
      $(".out",this).stop().animate({'top':'0px'},250); //上滑至顯示
      $(".over",this).stop().animate({'top':'-45px'},250);//上滑至隱藏
      $(".bg",this).stop().animate({'top':'-45px'},120);//上滑至隱藏
      });

       

      總結(jié)

        以上講解了如何一步步打造jQuery動(dòng)態(tài)下滑菜單,您可以按部就班自己實(shí)現(xiàn)一個(gè),也可以下載源代碼修改定制,當(dāng)然,您有什么好的提議或者有什么問題,都可以給我留言。

        查看最終效果

        下載源代碼

      本文地址:http://www.rzrgm.cn/wiky/articles/animated-menu-0415.html

      PS:本文由維奇總結(jié),如有轉(zhuǎn)載請(qǐng)注明出處,謝謝!

      posted @ 2010-04-15 13:47  漫凱維奇  閱讀(24969)  評(píng)論(29)    收藏  舉報(bào)
      主站蜘蛛池模板: 55大东北熟女啪啪嗷嗷叫| 老司机精品成人无码AV| 久久一日本综合色鬼综合色| 国偷自产一区二区三区在线视频| 免费视频国产在线观看| 亚洲国产码专区在线观看| 激情亚洲专区一区二区三区| 毛片无遮挡高清免费| 色爱综合另类图片av| 久久国产精品亚洲精品99| 国产盗摄xxxx视频xxxx| 亚洲欧美日韩高清一区二区三区| 无码免费大香伊蕉在人线国产| 国产精品青草久久久久福利99| 狠狠躁夜夜躁人人爽天天天天| 久久久久久性高| 国产第一页浮力影院入口| 97久久综合亚洲色hezyo| 在厨房拨开内裤进入在线视频| 99久久国产一区二区三区| 精品偷拍一区二区三区| 久久高清超碰AV热热久久| 17岁日本免费bd完整版观看| 浪潮av色综合久久天堂| 尤物视频色版在线观看| 国产精品区一区第一页| 在线视频一区二区三区色| 亚洲av成人一区在线| 欧美极品少妇×xxxbbb| 开心五月深深爱天天天操| 亚洲色大成网站WWW久久| 国产精品无码a∨麻豆| 国产亚洲精品第一综合麻豆| 亚洲国产精品一区第二页| 久久国产精品老人性| 在线精品自拍亚洲第一区| 日韩永久永久永久黄色大片| 起碰免费公开97在线视频| 日韩有码中文在线观看| 精品天堂色吊丝一区二区| 国产乱妇乱子视频在播放|