亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery動畫與特效詳解

2019-11-20 13:15:44
字體:
來源:轉載
供稿:網友

1.顯示和隱藏hide()和show()

對于動畫來說,顯示和隱藏是最基本的效果之一,本節簡單介紹jQuery的顯示和隱藏。

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("input:first").click(function() {
                    $("p").hide(); //隱藏
                });
                $("input:last").click(function() {
                    $("p").show(); //顯示
                });
            });
        </script>
        <input type="button" value="Hide">
        <input type="button" value="Show">
        <p>點擊按鈕,看看效果</p>
        <div><em>本節主要降級和學習jQuery的自動顯隱,漸入漸出、飛入飛出。自定義動畫等。 1.顯示和隱藏hide()和show() 對于動畫來說,顯示和隱藏是最基本的效果之一,本節簡單介紹jQuery的顯示和隱藏。</em>
        </div>

以上是對hide()和show()函數的測試。

2.使用show()、hide()和toggle()方法

上個例子對show()和hide()方法做了簡單介紹,其實這兩個方法可以接受參數控制顯隱藏過程。
語法如下

show(duration,[callback]);
hide(duration,[callback]);
其中,duration表示動畫執行時間的長短,可以表示速度的字符串,包括slow,normal,fast.也可以是表示時間的整數(毫秒)。callback是可選的回調函數。在動畫完成之后執行。

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("input:first").click(function() {
                    $("p").hide(300); //隱藏
                });
                $("input:last").click(function() {
                    $("p").show(500); //顯示
                });
            });
        </script>

例子和第一個例子相同,只是對hide()和show()增加了時間參數。其實toogle()也可以加入事件參數。

2.使用fadeIn()和fadeOut()方式

對于動畫效果顯隱,jQuery還提供了fadeIn()個fadeOut這兩個實用的方法,他們的動畫效果類似褪色,語法與slow()和hide()完全相同。

            fadeIn(duration, [callback]);
            fadeOut(duration, [callback]);
例子

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("input:eq(0)").click(function() {
                    $("img").fadeOut(3000); //逐漸fadeOut
                });
                $("input:eq(1)").click(function() {
                    $("img").fadeIn(1000); //逐漸fadeIn
                });
            });

        </script>

        <img src="        <input type="button" value="Hide">
        <input type="button" value="Show">

fadeTo()方法的使用。

fadeTo() 方法將被選元素的不透明度逐漸地改變為指定的值。

例子:

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("input:eq(0)").click(function() {
                    $("img").fadeOut(1000);
                });
                $("input:eq(1)").click(function() {
                    $("img").fadeIn(1000);
                });
                $("input:eq(2)").click(function() {
                    $("img").fadeTo(1000, 0.5);
                });
                $("input:eq(3)").click(function() {
                    $("img").fadeTo(1000, 0);
                });
            });
        </script>
            <p><img src="03.jpg"></p>
<input type="button" value="FadeOut">
<input type="button" value="FadeIn">
<input type="button" value="FadeTo 0.5">
<input type="button" value="FadeTo 0">

fadeOut相關參數

speed 
可選。規定元素從當前透明度到指定透明度的速度。

可能的值:

毫秒 (比如 1500)
"slow"
"normal"
"fast"
opacity 必需。規定要淡入或淡出的透明度。必須是介于 0.00 與 1.00 之間的數字。
callback 
可選。fadeTo 函數執行完之后,要執行的函數。

如需學習更多有關 callback 的內容,請訪問我們的 jQuery Callback 這一章。

除非設置了 speed 參數,否則不能設置該參數。

3.幻燈片slideUp和slideDown效果

復制代碼 代碼如下:

<script type="text/javascript">
            $(function() {
                $("input:eq(0)").click(function() {
                    $("div").add("img").slideUp(1000);
                });
                $("input:eq(1)").click(function() {
                    $("div").add("img").slideDown(1000);
                });
                $("input:eq(2)").click(function() {
                    $("div").add("img").hide(1000);
                });
                $("input:eq(3)").click(function() {
                    $("div").add("img").show(1000);
                });
            });
        </script> 
    <input type="button" value="SlideUp">
    <input type="button" value="SlideDown">
    <input type="button" value="Hide">
    <input type="button" value="Show"><br>
    <div></div><img src="04.jpg">

前面提到了幾種動畫效果,jQuery還提供了slideUp()和slideDown()來模擬PPT中的類似幻燈片拉簾效果,它與slow()和hide()完全相同。

以上代碼定義了一個div和一個img,用add方法組合在一起。

4.自定義動畫

考慮到框架的通用性及代碼文件的大小,jQuery不能涵蓋所有的動畫效果,但它提供了animate()方法,能夠使開發者自定義動畫。本節主要通過介紹animate()方法的兩種形式及應用。

animate()方法給開發者很大的空間。它一共有兩種形式。第一種形式比較常用。用法如下

animate(params,[duration],[easing],[callback])
其中params為希望進行變幻的css屬性列表,以及希望變化到的最終值,duration為可選項,與show()/hide()的參數含義完全相同。easing為可選參數,通常供動畫插件使用。 用來控制節奏的變化過程。jQuery中只提供了linear和swing兩個值.callback為可選的回調函數。在動畫完成后觸發。

 需要注意。params中的變量遵循camel命名方式。例如paddingLeft不能寫成padding-left.另外,params只能是css中用數值表示的屬性。例如width.top.opacity等

像backgroundColor這樣的屬性不被animate支持。

復制代碼 代碼如下:

<style>
            div {
                background-color: #FFFF00;
                height: 40px;
                width: 80px;
                border: 1px solid #000000;
                margin-top: 5px;
                padding: 5px;
                text-align: center;
            }
        </style>
        <script type="text/javascript">
            $(function() {
                $("button").click(function() {
                    $("#block").animate({
                        opacity: "0.5",
                        width: "80%",
                        height: "100px",
                        borderWidth: "5px",
                        fontSize: "30px",
                        marginTop: "40px",
                        marginLeft: "20px"
                    }, 2000);
                });
            });
        </script>
        <button id="go">Go>></button>
        <div id="block">動畫!</div>

在params中,jQuery還可以用“+=”或者"-="來表示相對變化。如

復制代碼 代碼如下:

<style>
            div {
                background-color: #FFFF00;
                height: 40px;
                width: 80px;
                border: 1px solid #000000;
                margin-top: 5px;
                padding: 5px;
                text-align: center;
                position: absolute;
            }
        </style>
        <script type="text/javascript">
            $(function() {
                $("button:first").click(function() {
                    $("#block").animate({
                        left: "-=80px" //相對左移
                    }, 300);
                });
                $("button:last").click(function() {
                    $("#block").animate({
                        left: "+=80px" //相對右移
                    }, 300);
                });
            });
        </script>
        <button >Go>></button>
        <button >Go>></button>
        <div id="block">動畫!</div>

先將div進行絕對定位,然后使用animate()中的-=和+=分別實現相對左移和相對右移。

animate()方法還有另外一種形式,如下所示:

animate(params,options)
其中,params與第一種形式完全相同,options為動畫可選參數列表,主要包括duration,esaing,callback,queue等,其中duration.easing.callback與第一種形式完全一樣,queue為布爾值,表示當有多個 animate()組成jQuery時,當前animate()緊接這下一個animate(),是按順序執行(true)還是同時觸發false

如下例子,展示了animate()第二種用法。

復制代碼 代碼如下:

    <style>
            div {
                background-color: #FFFF22;
                width: 100px;
                text-align: center;
                border: 2px solid #000000;
                margin: 3px;
                font-size: 13px;
                font-family: Arial, Helvetica, sans-serif;
            }
            input {
                border: 1px solid #000033;
            }
        </style>
        <script type="text/javascript">
            $(function() {
                $("input:eq(0)").click(function() {
                    //第一個animate與第二個animate同時執行,然后再執行第三個
                    $("#block1").animate({
                            width: "90%"
                        }, {
                            queue: false,
                            duration: 1500
                        })
                        .animate({
                            fontSize: "24px"
                        }, 1000)
                        .animate({
                            borderRightWidth: "20px"
                        }, 1000);
                });
                $("input:eq(1)").click(function() {
                    //依次執行三個animate
                    $("#block2").animate({
                            width: "90%"
                        }, 1500)
                        .animate({
                            fontSize: "24px"
                        }, 1000)
                        .animate({
                            borderRightWidth: "20px"
                        }, 1000);
                });
                $("input:eq(2)").click(function() {
                    $("input:eq(0)").click();
                    $("input:eq(1)").click();
                });
                $("input:eq(3)").click(function() {
                    //恢復默認設置
                    $("div").css({
                        width: "",
                        fontSize: "",
                        borderWidth: ""
                    });
                });
            });
        </script>
        <input type="button" id="go1" value="Block1動畫">
        <input type="button" id="go2" value="Block2動畫">
        <input type="button" id="go3" value="同時動畫">
        <input type="button" id="go4" value="重置">
        <div id="block1">Block1</div>
        <div id="block2">Block2</div>

以上兩個div塊同時運用了三個動畫效果,其中第一個div快的第一個動畫添加了queue:false參數,使得前兩項兩個動畫同時執行??梢酝ㄟ^重置反復測試,熟悉animate()第二種形式。

以上就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品无人国产偷自产在线| 在线观看日韩专区| 中文字幕久久亚洲| 中文字幕国产精品久久| 国产一区二区三区网站| 日韩av最新在线| 精品国产福利在线| 91社影院在线观看| 亚洲成人久久久| 欧美日韩亚洲系列| 九九精品视频在线| 久久亚洲精品中文字幕冲田杏梨| 欧美大奶子在线| 欧洲中文字幕国产精品| 国产精品美女呻吟| 久久久国产成人精品| 欧美xxxx18国产| 欧美亚州一区二区三区| 精品日本美女福利在线观看| 国产日韩中文在线| 中文日韩在线视频| 奇米一区二区三区四区久久| 亚洲成人av片| 日韩中文字幕久久| 亚洲国产一区二区三区在线观看| 欧美激情免费视频| 色婷婷久久av| 国产午夜精品麻豆| 亚洲精品国产美女| 午夜精品福利在线观看| 日韩在线视频二区| 欧美国产精品va在线观看| 亚洲日本欧美日韩高观看| 欧美性做爰毛片| 欧美精品久久久久久久免费观看| 久久久国产精品x99av| 欧美日韩激情小视频| 91av视频在线免费观看| 国产日韩中文字幕在线| 在线看片第一页欧美| 国产精品久久色| 黄色91在线观看| 欧美日韩在线另类| 国产在线观看精品一区二区三区| 国内精品久久影院| 97福利一区二区| 热99精品里视频精品| 国产精品高潮呻吟久久av无限| 亚洲国产日韩欧美在线99| 国产婷婷色综合av蜜臀av| 久久精品欧美视频| 亚洲激情成人网| 国产午夜精品理论片a级探花| 日韩在线不卡视频| 久久伊人精品天天| 日韩小视频网址| 日韩av免费在线播放| 色午夜这里只有精品| 国产精品久久久久久久久久久不卡| 欧美日韩一区二区在线播放| 欧美性猛交xxxx富婆| 久久综合伊人77777尤物| 国产精品久久久久久久久久免费| 中文字幕不卡av| 亚洲大胆人体视频| 亚洲精品ady| 欧美另类99xxxxx| 国产精品久久久av| 久久久久免费精品国产| 欧美国产欧美亚洲国产日韩mv天天看完整| 怡红院精品视频| 国产精品欧美一区二区| 国产午夜精品视频| 国产玖玖精品视频| 国产精品影片在线观看| 一区二区成人av| 欧美激情一级欧美精品| 丝袜亚洲欧美日韩综合| 久久综合网hezyo| 国产精品视频99| 在线电影中文日韩| 久久成人精品视频| 狠狠色香婷婷久久亚洲精品| 国产人妖伪娘一区91| 日韩精品免费在线视频| 91av视频在线播放| 亚洲一区二区少妇| 国产一区二区三区四区福利| 欧美激情乱人伦| 欧美精品18videos性欧美| 日本午夜人人精品| 欧美理论电影网| 成人美女免费网站视频| 精品久久久久久国产| 国产精品美乳一区二区免费| 亚洲男人天天操| 一个人看的www欧美| 亚洲日韩欧美视频| 国产精品美女免费视频| 美女啪啪无遮挡免费久久网站| 国产成人精品视| 亚洲精品女av网站| 亚洲女人被黑人巨大进入| 伊人一区二区三区久久精品| 久久影视三级福利片| 亚洲欧洲日产国码av系列天堂| 亚洲一区二区三区视频| 性色av一区二区咪爱| 亚洲国产私拍精品国模在线观看| 久久免费成人精品视频| 日本久久久久久久久久久| 国产日韩欧美成人| 久久综合伊人77777蜜臀| 日韩经典一区二区三区| 色偷偷88888欧美精品久久久| 亚洲欧美日韩一区在线| 亚洲一区二区福利| 欧美激情a∨在线视频播放| 9.1国产丝袜在线观看| 亚洲欧洲午夜一线一品| 久久久久久久久久国产精品| 日韩精品久久久久久久玫瑰园| 欧美性生交xxxxxdddd| 久久久精品在线观看| 欧美巨乳在线观看| 欧美香蕉大胸在线视频观看| 成人网中文字幕| 欧美一级片一区| 中文字幕日韩欧美在线| 欧美视频在线免费看| 中文日韩在线视频| 九九视频直播综合网| 日本精品久久久久久久| 国产精品成人久久久久| 福利微拍一区二区| 91在线直播亚洲| 国产精品视频网址| 亚洲美女av黄| 日韩在线观看免费高清完整版| 成人免费视频在线观看超级碰| 国产精品一区二区三区免费视频| 国产成人精品在线| 一个色综合导航| 日韩欧美精品中文字幕| 国产亚洲激情在线| 国产精品一区二区三| 欧美激情图片区| 亚洲欧美一区二区三区在线| 岛国视频午夜一区免费在线观看| 亚洲精品第一国产综合精品| 日韩免费在线观看视频| 一二美女精品欧洲| 97精品一区二区视频在线观看| 欧美xxxx做受欧美.88| 伊人伊成久久人综合网小说| 国产91精品久久久久| 欧美性xxxx在线播放| 日韩激情av在线播放| 国模极品一区二区三区| 国产精品久久久久久久久久| 成人免费黄色网| 亚洲欧美日韩视频一区| 91精品久久久久| 日韩欧美在线看|