JQuery學習筆記- jQuery 動畫特效

1. 調用show()和hide()方法顯示和隱藏元素

show()和hide()方法用於顯示或隱藏頁面中的元素,它的調用格式分別爲:

$(selector).hide(speed,[callback])和$(selector).show(speed,[callback])

參數speed設置隱藏或顯示時的速度值,可爲“slow”、“fast”或毫秒數值,可選項參數callback爲隱藏或顯示動作執行完成後調用的函數名。

            <ul>
                <li>蘋果</li>
                <li>甘桔</li>
                <li>梨</li>
            </ul>
            <input id="hidval" type="hidden" value="0"/>
        
        <script type="text/javascript">
            $(function () {
                $("h4").bind("click", function () {
                    if ($("#hidval").val() == 0) {
                        $("ul").show();
                        $("#hidval").val(1);
                    } else {
                        $("ul").hide();
                        $("#hidval").val(0);
                    }
                });
            });
        </script>

        		
            <ul>
                <li>蘋果</li>
                <li>甘桔</li>
                <li>梨</li>
            </ul>
            <input id="hidval" type="hidden" value="0"/>
        
        <script type="text/javascript">
            $(function () {
                $("h4").bind("click", function () {
                    if ($("#hidval").val() == 0) {
                        $("ul").show(1000, function(){
                            $("#hidval").val(1);
                        });
                    } else {
                         $("ul").hide(2000, function(){
                            $("#hidval").val(0);
                        });
                    }
                })
            });
        </script>

2. 調用toggle()方法實現動畫切換效果

如果元素處於顯示狀態,調用該方法則隱藏該元素,反之,則顯示該元素,它的調用格式是:

$(selector).toggle(speed,[callback])

其中speed參數爲動畫效果時的速度值,可以爲數字,單位爲毫秒,也可是“fast”、“slow”字符,可選項參數callback爲方法執行成功後回調的函數名稱。

            <ul>
                <li>蘋果</li>
                <li>甘桔</li>
                <li>梨</li>
            </ul>
        
        <script type="text/javascript">
            $(function () {
                var $spn = $("#spnTip");
                $("h4").bind("click", function () {
                    $("ul").toggle(3000, function(){
                     $spn.html() == "隱藏" ? $spn.html("顯示") : $spn.html("隱藏");
                    });
                });
            });
        </script>

3. 使用slideUp()和slideDown()方法的滑動效果

可以使用slideUp()和slideDown()方法在頁面中滑動元素,前者用於向上滑動元素,後者用於向下滑動元素,它們的調用方法分別爲:

$(selector).slideUp(speed,[callback])和$(selector).slideDown(speed,[callback])

其中speed參數爲滑動時的速度,單位是毫秒,可選項參數callback爲滑動成功後執行的回調函數名。

要注意的是:slideDown()僅適用於被隱藏的元素;slideup()則相反。

            <ul>
                <li>蘋果</li>
                <li>甘桔</li>
                <li>梨</li>
            </ul>
            <input id="hidval" type="hidden" value="0"/>
        
        <script type="text/javascript">
            $(function () {
                $("h4").bind("click", function () {
                    if ($("#hidval").val() == 0) {
                        $("ul").slideUp(3000, function() {
                            $("#hidval").val(1);
                        });
                    } else {
                         $("ul").slideDown(3000, function(){
                            $("#hidval").val(0);
                        })
                    }
                })
            });
        </script>

4. 使用slideToggle()方法實現圖片“變臉”效果

使用slideToggle()方法可以切換slideUp()和slideDown(),即調用該方法時,如果元素已向上滑動,則元素自動向下滑動,反之,則元素自動向上滑動,格式爲:

$(selector).slideToggle(speed,[callback])

其中speed參數爲動畫效果時的速度值,可以爲數字,單位爲毫秒,也可是“fast”、“slow”字符,可選項參數callback爲方法執行成功後回調的函數名稱。

 

              <span class="fr" id="spnTip">向下滑</span></h4>
            <ul>
                <li>蘋果</li>
                <li>甘桔</li>
                <li>梨</li>
            </ul>
            <input id="hidval" type="hidden" value="0"/>
        
        <script type="text/javascript">
            $(function () {
                var $spn = $("#spnTip");
                $("h4").bind("click", function () {
                    $("ul").slideToggle(3000, function() {
               $spn.html() == "向下滑" ? $spn.html("向上滑") : $spn.html("向下滑");
                    });
                });
            });
        </script>

5. 使用fadeIn()與fadeOut()方法實現淡入淡出效果

fadeIn()和fadeOut()方法可以實現元素的淡入淡出效果,前者淡入隱藏的元素,後者可以淡出可見的元素,它們的調用格式分別爲:

$(selector).fadeIn(speed,[callback])和$(selector).fadeOut(speed,[callback])

其中參數speed爲淡入淡出的速度,callback參數爲完成後執行的回調函數名。

            <ul>
                <li>蘋果</li>
                <li>甘桔</li>
                <li>梨</li>
            </ul>
            <input id="hidval" type="hidden" value="0"/>
        
        <script type="text/javascript">
            $(function () {
                $("h4").bind("click", function () {
                    if ($("#hidval").val() == 0) {
                        $("ul").fadeIn(1000, function() {
                            $("#hidval").val(1);
                        });
                    } else {
                        $("ul").fadeOut(1000, function() {
                            $("#hidval").val(0);
                        })
                    }
                })
            });
        </script>
		

6. 使用fadeTo()方法設置淡入淡出效果的不透明度

調用fadeTo()方法,可以將所選擇元素的不透明度以淡入淡出的效果調整爲指定的值,該方法的調用格式爲:

$(selector).fadeTo(speed,opacity,[callback])

其中speed參數爲效果的速度,opacity參數爲指定的不透明值,它的取值範圍是0.0~1.0,可選項參數callback爲效果完成後,回調的函數名。

 

      <span class="red"></span><span class="orange"></span><span class="blue"></span>
        
        <script type="text/javascript">
            $(function () {
                $("span").each(function (index) {
                    switch (index) {
                        case 0:
                            $(this).fadeTo(3000, 0.1);
                            break;
                        case 1:
                            $(this).fadeTo(3000, 0.4)
                            break;
                        case 2:
                            $(this).fadeTo(3000, 0.9);
                            break;
                    }
                });
            });
        </script>
		

7. 調用animate()方法制作簡單的動畫效果

調用animate()方法可以創建自定義動畫效果,它的調用格式爲:

$(selector).animate({params},speed,[callback])

其中,params參數爲製作動畫效果的CSS屬性名與值,speed參數爲動畫的效果的速度,單位爲毫秒,可選項callback參數爲動畫完成時執行的回調函數名。

        <span></span>
        <div id="tip"></div>
        
        <script type="text/javascript">
            $(function () {
                $("span").animate({
                    width: "80px",
                    height: "80px"
                },
                3000, function () {
                    $("#tip").html("執行完成!");
                });
            });
        </script>

8. 調用animate()方法制作移動位置的動畫

調用animate()方法不僅可以製作簡單漸漸變大的動畫效果,而且還能製作移動位置的動畫,在移動位置之前,必須將被移元素的“position”屬性值設爲“absolute”或“relative”,否則,該元素移動不了。

        <span></span>
        <div id="tip"></div>
        
        <script type="text/javascript">
            $(function () {
                $("span").animate({
                    left: "+=100px"
                }, 3000, function () {
                    $("span").animate({
                        height: '+=30px',
                        width: '+=30px'
                    }, 3000, function () {
                        $("#tip").html("執行完成!");
                    });
                });
            });
        </script>

9. 調用stop()方法停止當前所有動畫效果

stop()方法的功能是在動畫完成之前,停止當前正在執行的動畫效果,這些效果包括滑動、淡入淡出和自定義的動畫,它的調用格式爲:

$(selector).stop([clearQueue],[goToEnd])

其中,兩個可選項參數clearQueue和goToEnd都是布爾類型值,前者表示是否停止正在執行的動畫,後者表示是否完成正在執行的動畫,默認爲false。

        <span></span>
        <input id="btnStop" type="button" value="停止" />
        <div id="tip"></div>
        
        <script type="text/javascript">
            $(function () {
                $("span").animate({
                    left: "+=100px"
                }, 3000, function () {
                    $(this).animate({
                        height: '+=60px',
                        width: '+=60px'
                    }, 3000, function () {
                        $("#tip").html("執行完成!");
                    });
                });
                $("#btnStop").bind("click", function () {
                   $("span").stop();
                    $("#tip").html("執行停止!");
                });
            });
        </script>


10. 調用delay()方法延時執行動畫效果

delay()方法的功能是設置一個延時值來推遲動畫效果的執行,它的調用格式爲:

$(selector).delay(duration)

其中參數duration爲延時值,它的單位是毫秒,當超過延時值時,動畫繼續執行。

        <span></span>
        <input id="btnStop" type="button" value="延時" />
        <div id="tip"></div>
        
        <script type="text/javascript">
            $(function () {
                $("span").animate({
                    left: "+=100px"
                }, 3000, function () {
                    $(this).animate({
                        height: '+=60px',
                        width: '+=60px'
                    }, 3000, function () {
                        $("#tip").html("執行完成!");
                    });
                });
                $("#btnStop").bind("click", function () {
                    $("span").delay(3000);
                    $("#tip").html("正在延時!");
                });
            });
        </script>

11. 在頁面中,創建兩個按鈕。

點擊第一個“左移”按鈕後,將頁面中的<div>元素在當前的位置上,以動畫的效果向左移動50個像素;

點擊第二個“右移”按鈕後,頁面中的<div>元素在當前的位置上,以動畫的效果向右移動50個像素。

    <body>
        <button id="btn1">左移</button>
        <button id="btn2">右移</button>
        <div style="position:relative">zhang</div>
        <script>
            $(function() {
                $("#btn1").bind("click", function() {
                    $("div").animate({
                        left:"-=50px"
                    }, 3000);
                });
                $("#btn2").bind("click", function() {
                    $("div").animate({
                        left:"+=50px"
                    }, 3000);
                });
            });
            
        </script>
    </body>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章