DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> 鋒利的jQuery 要點歸納(三) jQuery中的事件和動畫(下:動畫篇)
鋒利的jQuery 要點歸納(三) jQuery中的事件和動畫(下:動畫篇)
編輯:JQuery特效代碼     
二、動畫
1 show()方法和hide()方法
代碼如下:
$("selector").show()
從display:none還原元素默認或已設置的display屬性
$("selector").hide()
設置元素的display樣式為none,等於$("selector").css("display","none")

(注:傳入參數後,.show()和.hide()方法同時動畫改變元素的width,height和透明屬性;傳入參數控制顯隱速度,單位毫秒,如.show(600),也可傳入fast,normal,slow,fast為200毫秒,normal為400毫秒,slow為600毫秒)
2 fadeIn()方法和fadeOut()方法
代碼如下:
$("selector").fadeIn()
控制透明度在指定時間內從display:none提高至完全顯示
$("selector").fadeOut()
控制透明度在指定時間內降低至display:none;

3 slideUp()方法和slideDown()方法
代碼如下:
$("selector").slideUp()
控制元素高度在指定時間內從下到上縮短至display:none;
$("selector").slideDown()
控制元素高度在指定時間內從display:none延伸至完整高度

4 自定義動畫方法animate()
代碼如下:
$("selector").animate(params,speed,callback);
params:一個包含樣式屬性及值的映射,比如{property1:"value1",property2:"value2",...}
speed:速度參數,可選
callback:在動畫完成時執行的參數(即回調函數),可選

常見的動畫例子
代碼如下:
<script>
//自定義動畫的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"500px"},3000); //selector在3秒內向右移動500px
});
})
</script>

代碼如下:
<script>
//累加、累減動畫的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"+=500px"},3000); //連續觸發click事件時,在當前位置累加500px
});
})
</script>
<script>
//多重動畫的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"500px",top:"300px",height:"+=100px"},3000); //向右下30度方向運動,同時增加高度
});
})
</script>
<script>
//按順序執行多個動畫的例子
$(function(){
$("selector").click(function(){
$(this).animate({left:"500px"},3000).animate({top:"300px"},3000); //動畫隊列
});
})
</script>

5 動畫回調函數
因css()方法不會加入動畫隊列中,則會馬上執行。如若要在動畫最後改變selector的css,需要利用回調函數
例:
代碼如下:
<script>
$("selector").click(function(){
$(this).animate({property1:"value1"},time).animate({property2:"value2"},time,function(){
$(this).css("property3","value3"); //css()方法利用回調函數加入動畫隊列
});
})
</script>

(注:動畫回調函數適用於jQuery所有的動畫效果方法)
6 停止動畫和判斷是否處於動畫狀態
$("selector").stop()
結束當前動畫,如隊列中存在下一個動畫則立即執行下一個動畫,格式$("selector").stop([clearQueue][,gotoEnd])
切換動畫的例子:
代碼如下:
<script>
$("selector").hover(function(){
$(this).stop().animate();
},function(){
$(this).stop().animate();
})
</script>

clearQueue參數設置為true時,將清空當前元素接下來尚未執行完的動畫隊列
例:
代碼如下:
<script>
$("selector").hover(function(){
$(this).stop(true).animate().animate() //如此時觸發光標移出事件,直接跳過後面的動畫隊列,避免執行本隊列第二個動畫
},function(){
$(this).stop(true).animate().animate()
})
</script>

gotoEnd參數設置為true時,可將正在執行的動畫直接到達結束時刻的狀態
is(":animated")
判斷元素是否處於動畫狀態,可用於防止動畫累積
例:
代碼如下:
<script>
if(!$("selector").is(":animated")){ //判斷元素是否正處於動畫狀態
//如果當前沒有進行動畫,則添加新動畫
}
</script>

7 其他動畫方法
3個專門用於交互的動畫方法:toggle(speed,[callback]); slideToggle(speed,[callback]); fadeTo(speed,opacity,[callback])
代碼如下:
$("selector").toggle()
切換元素的可見狀態,如元素隱藏則切換為可見,反之亦然
$("selector").slideToggle()
通過高度變化來切換元素的可見性
$("selector").fadeTo()
把元素的不透明度以漸進方式調整到指定的值,如$("selector").fadeTo(600,0.2);以600毫秒速度將內容調整到20%透明度

8 動畫方法概括
代碼如下:
toggle()用來代替hide()和show()
slideToggle()用來代替slideUp()和slideDown()
animate()可代替所有動畫方法
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved