DIV CSS 佈局教程網

8.4 滑上和滑下
編輯:jQuery基礎知識     

在浏覽器網頁中,我們經常會見到具有滑動效果的下拉菜單:

在jQuery中,如果我們想要實現元素的滑動效果,也有2組方法:

  • (1)slideUp()和slideDown();
  • (2)slideToggle();

一、slideup()和slideDown()

在jQuery中,我們可以使用slideUp()實現元素的滑上效果,使用slideDown()方法來實現元素的滑下效果。

語法:

 
$().slideDown(speed , callback)
$().slideUp(speed , callback)

說明:

speed為可選參數,表示動畫執行的速度,單位為毫秒,默認值為200毫秒。如果參數省略,則采用默認速度。

callback為可選參數,表示動畫執行完成之後的回調函數。

對於滑動效果,一般情況下都是先“滑下”再“滑上”。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        *{padding:0;margin:0;}
        #wrapper
        {
            text-align:left;
            display:inline-block;
            width:300px;
            border:1px solid silver;
        }
        h3
        {
            text-align:center;
            padding:10px;
            background-color:#F1F1F1;
            border-bottom:1px solid gray;
        }
        h3:hover
        {
            background-color:#E1E1E1;
            cursor:pointer;
        }
        p
        {
            padding:8px;
            display:none;
        }
    </style>
    <script type="text/javascript" src="../App_js/jquery-1.12.0.min.js"></script>
    <script type="text/javascript">
        //設置一個變量flag用於標記元素狀態,是“滑下”還是“滑上”
        var flag = 0;
        $(function () {
            $("h3").click(function () {
                if (flag == 0) {
                    $("p").slideDown();
                    flag = 1;
                }
                else{
                    $("p").slideUp();
                    flag = 0;
                }
            });
        })
    </script>
</head>
<body>
    <div id="wrapper">
        <h3> 學習網簡介</h3>
        <p> 學習網成立於2015年4月1日,是一個富有活力的技術學習網站。 學習網為廣大網絡工作者(網頁開發人員、站長等)提供各種精品教程以及最精華資料。 學習網跟其他垃圾采集站不一樣, 學習網中的每一個課程、每一篇文章,甚至每一個知識點,都凝聚了本人的最辛勤的汗水。多少日日夜夜,本人嘔心瀝血在一遍一遍地編輯,為的是給廣大網站愛好者提供最精華的知識。</p>
    </div>
</body>
</html>

在浏覽器預覽效果如下:

分析:

當我們第1次點擊標題時,內容會“滑下”;當我們第2次點擊標題時,內容會“滑上”,以此類推。對於滑動動畫的實現,我們需要定義一個變量flag來判斷當前元素的滑動狀態,然後根據這個變量來決定是否執行“滑上”還是“滑下”。

二、slideToggle()

當使用slideDown()和slideUp(),我們需要用一個變量來判斷當前元素的滑動狀態,然後根據這個變量來決定是否執行slideDown()還是slideUp()方法。這種處理方式似乎顯得有點復雜。

在jQuery中,我們還有一種實現滑動效果的簡單方法,那就是slideToggle()。我們可以使用slideToggle()方法來切換元素的“滑動狀態”。也就是說,如果元素是滑下狀態,則變成滑上狀態;如果元素是滑上狀態,則變成滑下狀態。這個跟toggle()、fadeToggle()這兩個方法是類似的。

語法:

 
slideToggle(speed , callback)

說明:

speed為可選參數,表示動畫執行的速度,單位為毫秒,默認值為200毫秒。如果參數省略,則采用默認速度。

callback為可選參數,表示動畫執行完成之後的回調函數。

舉例:

在線測試
 
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">
        *{padding:0;margin:0;}
        #wrapper
        {
            text-align:left;
            display:inline-block;
            width:300px;
            border:1px solid silver;
        }
        h3
        {
            text-align:center;
            padding:10px;
            background-color:#F1F1F1;
            border-bottom:1px solid gray;
        }
        h3:hover
        {
            background-color:#E1E1E1;
            cursor:pointer;
        }
        p
        {
            padding:8px;
            display:none;
        }
    </style>
    <script type="text/javascript" src="../App_js/jquery-1.12.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $("h3").click(function () {
                $("p").slideToggle();
            });
        })
    </script>
</head>
<body>
    <div id="wrapper">
        <h3> 學習網簡介</h3>
        <p> 學習網成立於2015年4月1日,是一個富有活力的技術學習網站。 學習網為廣大網絡工作者(網頁開發人員、站長等)提供各種精品教程以及最精華資料。 學習網跟其他垃圾采集站不一樣, 學習網中的每一個課程、每一篇文章,甚至每一個知識點,都凝聚了本人的最辛勤的汗水。多少日日夜夜,本人嘔心瀝血在一遍一遍地編輯,為的是給廣大網站愛好者提供最精華的知識。</p>
    </div>
</body>
</html>

在浏覽器預覽效果如下:

分析:

在實際開發中,對於滑動動畫,slideToggle()方法相對slideUp()和slideDown()來得更加方便。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved