jQuery入門[6]-動畫

作者: Think  來源: 博客園  發布時間: 2009-12-20 20:53  閱讀: 1355 次  推薦: 0   原文鏈接   [收藏]  

jQuery直接各種動畫,常見的被封裝成各種方法,如show()/hide()/slideDown()/fadeIn()等等,參見:Effects

最靈活的則屬于animate( params, [duration], [easing], [callback] )方法,參見:animate
其中params為動畫的運行結果,可以為各種樣式屬性,jQuery將在duration指定的時間內,將對象的當前狀態漸變為params參數指定的值。如:

    $("#go").click(function(){
      $(
"#block").animate({ 
        width: 
"70%",
        opacity: 
0.4,
        marginLeft: 
"0.6in",
        fontSize: 
"3em"
        borderWidth: 
"10px"
      }, 1500 );
    });


params也可以是一些相對數據:

    $("#right").click(function(){
      $(
".block").animate({"left""+=50px"}, "slow");
    });

    $(
"#left").click(function(){
      $(
".block").animate({"left""-=50px"}, "slow");
    });


通過stop()函數可將對象再在執行的動畫暫停。選擇符:animated可以判斷對象是否處在動畫運行狀態。
以下為來自官網的一個例子:

DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd"
>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js">script>
  
  
<script>
  $(document).ready(function(){
    
    $(
"#show").click(function () {
      
var n = $("div").queue("fx");
      $(
"span").text("Queue length is: " + n.length);
    });
    
function runIt() {
      $(
"div").show("slow");
      $(
"div").animate({left:'+=200'},2000);
      $(
"div").slideToggle(1000);
      $(
"div").slideToggle("fast");
      $(
"div").animate({left:'-=200'},1500);
      $(
"div").hide("slow");
      $(
"div").show(1200);
      $(
"div").slideUp("normal", runIt);
    }
    runIt();

  });
  
script>
  <style>
  div { margin:3px; width:40px; height:40px;
        position:absolute; left:0px; top:30px; 
        background
:green; display:none; }
  div.newcolor { background:blue; }
  span { color:red; }
  style>
head>
<body>
  <button id="show">Show Length of Queuebutton>
  <span>span>
  <div>div>
body>
html>

效果為不斷變化的一個方塊,因為最后一個動畫$("div").slideUp("normal", runIt)執行后又

調用runIt方法,所以動畫不斷循環。

0
0
 
標簽:jQuery
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()