Jquery動畫函數操做實例大全

經過一段代碼來展現jQuery的動畫效果。
1.show&hidejavascript

<script type="text/javascript">
$(function(){
    $("#panel h5.head").toggle(function(){
         $(this).next().hide();
    },function(){
         $(this).next().show();
    })
})
</script>

html代碼部分:php

<body>
<div id="panel">
    <h5 class="head">什麼是jQuery?</h5>
    <div class="content">
        jQuery是繼Prototype以後又一個優秀的JavaScript庫,它是一個由 John Resig 建立於2006年1月的開源項目。jQuery憑藉簡潔的語法和跨平臺的兼容性,極大地簡化了JavaScript開發人員遍歷HTML文檔、操做DOM、處理事件、執行動畫和開發Ajax。它獨特而又優雅的代碼風格改變了JavaScript程序員的設計思路和編寫程序的方式。
    </div>
</div>
</body>

toggle()
用於綁定兩個或多個事件處理器函數,以響應被選元素的輪流的 click 事件。若是元素是可見的,切換爲隱藏的;若是元素是隱藏的,切換爲可見的。
2.show&hide帶時間,能夠加入一個時間參數css

<script type="text/javascript">
$(function(){
    $("#panel h5.head").toggle(function(){
         $(this).next().hide(600);
    },function(){
         $(this).next().show(600);
    })
})
</script>

3.fadeOut&fadeIn 注意大小寫,javascript是區分大小寫的。
fadeOut()經過不透明度的變化來實現全部匹配元素的淡出效果,並在動畫完成後可選地觸發一個回調函數。
fadeIn()經過不透明度的變化來實現全部匹配元素的淡入效果,並在動畫完成後可選地觸發一個回調函數。html

<script type="text/javascript">
$(function(){
    $("#panel h5.head").toggle(function(){
         $(this).next().fadeOut();
    },function(){
         $(this).next().fadeIn();
    })
})
</script>

 
4.slideUp&slideDown
slideUp()經過高度變化(向上減少)來動態地顯示全部匹配的元素,在顯示完成後可選地觸發一個回調函數。
slideDown()經過高度變化(向下增大)來動態地顯示全部匹配的元素,在顯示完成後可選地觸發一個回調函數。java

<script type="text/javascript">
$(function(){
    $("#panel h5.head").toggle(function(){
         $(this).next().slideUp();
    },function(){
         $(this).next().slideDown();
    })
})
</script>

5.animate簡單應用程序員

<script type="text/javascript">
$(function(){
    $("#panel").click(function(){
       //css中div必須設置爲position:relative。纔有效果。
       $(this).animate({left: "500px"}, 3000);
    })
})
</script>

點擊panel,會向右移動500px,時間爲3秒鐘。這實際上是動態的調整它的位置。這要結合css來實現。由於只有position設爲了relative,left屬性纔會有效。
6.animate多重動畫ide

<script type="text/javascript">
$(function(){
    $("#panel").click(function(){
        $(this).animate({left: "500px",height:"200px"}, 3000);
    })
})
</script>

這段代碼的意思,是使panel向右移動的同時,高度變爲200px。這裏用了兩個參數。函數

<script type="text/javascript">
$(function(){
    $("#panel").click(function(){
         $(this).animate({left: "500px"}, 3000)
                .animate({height: "200px"}, 3000);
    })
})
</script>

這段代碼與上面有所不一樣,它不是同時變化的,它是由前後順序的,先是panel向右移動500px,而後高度變爲200px。動畫

<script type="text/javascript">
    $(function(){
        $("#panel").css("opacity", "0.5");//設置透明度
        $("#panel").click(function(){
              $(this).animate({left: "400px", height:"200px" ,opacity: "1"}, 3000)
                     .animate({top: "200px" , width :"200px"}, 3000 )
                     .fadeOut("slow");
        });
    });
</script>

這段代碼更爲複雜一點。先是經過css方法設置panel的透明度爲0.5,也就是半透明。而後是先讓panel向右移動400px,高度變爲200px,透明度變爲1,也就是不透明。而後再向下移動200px,寬度變爲200px,最後慢慢的淡出。fadeOut("slow")就是淡出的意思。這裏的參數能夠是數字表時間,也能夠是字符串‘slow’,‘fast’錶快慢。this

<script type="text/javascript">
    $(function(){
        $("#panel").css("opacity", "0.5");//設置不透明度
        $("#panel").click(function(){
              $(this).animate({left: "400px", height:"200px" ,opacity: "1"}, 3000)
                     .animate({top: "200px" , width :"200px"}, 3000 )
                     .css("border","5px solid blue");
        });
    });
</script>

這段代碼最後有一段css效果。它並非最後執行的。也就是它並無排隊,從一開始就是border爲5px solid blue的效果。能夠調整代碼以下:

<script type="text/javascript">
    $(function(){
        $("#panel").css("opacity", "0.5");//設置不透明度
        $("#panel").click(function(){
              $(this).animate({left: "400px", height:"200px" ,opacity: "1"}, 3000)
                     .animate({top: "200px" , width :"200px"}, 3000 ,function(){
                         $(this).css("border","5px solid blue");
                     })
                     
        });
    });
</script>

animate(params,[speed],[easing],[fn])。animate最後一個參數是一個函數,它表示等動畫執行完畢執行的動做。在這個函數中,設置css就能夠實現css的最後執行。
7.stop
stop() 方法中止當前正在運行的動畫。

<script type="text/javascript">
$(function(){
      $("#panel").hover(function() {
          $(this).animate({height : "150",width : "300"} , 200 );
      },function() {
          $(this).animate({height : "22",width : "60" } , 300 );
      });
});
</script>

這段代碼表示當鼠標浮於panel之上時,會讓高度和寬度變大。當鼠標離開後,高度寬度變小。若是鼠標快速的移動移出就會有一個問題。就是它會一遍一遍的執行動做,直到動做完成。有必定的滯後效應。如何避免這一滯後效應呢?
咱們能夠經過stop() 方法。代碼以下:

<script type="text/javascript">
$(function(){
      $("#panel").hover(function() {
          $(this).stop().animate({height : "150",width : "300"} , 200 );
      },function() {
          $(this).stop().animate({height : "22",width : "60" } , 300 );
      });
});
</script>

也就是在執行動做以前,先結束上一個動做,這樣就能避免快速移動移出後的滯後效果。
stop([clearQueue],[jumpToEnd]) clearQueue:若是設置成true,則清空隊列。能夠當即結束動畫。 jumpToEnd:若是設置成true,則完成隊列。能夠當即完成動畫。
8.還有一些連在一塊兒的動做。

<script type="text/javascript">
$(function(){
    $("#panel h5.head").click(function(){
         $(this).next().toggle();
    })
})
</script>

toggle()切換消失與出現

<script type="text/javascript">
$(function(){
    $("#panel h5.head").click(function(){
         $(this).next().slideToggle();
    })
})
</script>

slideToggle()切換上下簾效果

<script type="text/javascript">
$(function(){
    $("#panel h5.head").click(function(){
         $(this).next().fadeTo(600, 0.2);
    })
})
</script>

fadeTo()把全部匹配元素的不透明度以漸進方式調整到指定的不透明度,並在動畫完成後可選地觸發一個回調函數。
9.animate方法模仿各類效果。

<script type="text/javascript">
$(function(){
      $("button:eq(0)").click(function () {
          $("div.content").hide().animate({ opacity : "1" }  );//隱藏元素並取消透明度
      });
      
      $("button:eq(1)").click(function () {
          $("div.content").animate({height : "show" , width : "show" , opacity : "show" } , 600 );//用animate仿show(),原理就是高、寬、透明度都顯示
      });

      $("button:eq(2)").click(function () {
        $("div.content").animate({height : "show" } , 600 );//用animate仿slideDown()
      });

      $("button:eq(3)").click(function () {
          $("div.content").animate({ opacity : "show" } , 600 );//用animate仿fadeIn()
      });

      $("button:eq(4)").click(function () {
            $("div.content").animate({ opacity : "0.2" } , 600 );//用animate仿fadeTo()
      });
})
</script>

轉載於猿2048:➱《Jquery動畫函數操做實例大全》

相關文章
相關標籤/搜索