jQuery動畫詳解

2022-02-14 23:29:40 字數 3383 閱讀 5197

本文最初發表於,並在github上持續更新前端的系列文章。歡迎在github上關注我,一起入門和高階前端。

以下是正文。

jquery提供的一組網頁中常見的動畫效果,這些動畫是標準的、有規律的效果;同時還提供給我們了自定義動畫的功能。

方式一:

$("div").show();
解釋:無引數,表示讓指定的元素直接顯示出來。其實這個方法的底層就是通過display: block;實現的。

方式二:

$("div").show(2000);
解釋:通過控制元素的寬高、透明度、display屬性,逐漸顯示,2秒後顯示完畢。

效果如下:

方式三:

$("div").show("slow");
引數可以是:

解釋:和方式二類似,也是通過控制元素的寬高、透明度、display屬性,逐漸顯示。

方式四:

//show(毫秒值,**函式;

$("div").show(5000,function () );

解釋:動畫執行完後,立即執行**函式。

總結:

上面的四種方式幾乎一致:引數可以有兩個,第乙個是動畫的執行時長,第二個是動畫結束後執行的**函式。

方式參照上面的show()方法的方式。如下:

$(selector).hide();

$(selector).hide(1000);

$(selector).hide("slow");

$(selector).hide(1000, function(){});

顯示和隱藏的來回切換:顯示和隱藏的來回切換採用的是toggle()方法:就是先執行show(),再執行hide()。

同樣是四種方式:

$(selector).toggle();
1、滑入動畫效果:(類似於生活中的捲簾門)

$(selector).slidedown(speed, **函式);
解釋:下拉動畫,顯示元素。

注意:省略引數或者傳入不合法的字串,那麼則使用預設值:400毫秒(同樣適用於fadein/slidedown/slideup)

2 滑出動畫效果:

$(selector).slideup(speed, **函式);
解釋:上拉動畫,隱藏元素。

3、滑入滑出切換動畫效果:

$(selector).slidetoggle(speed, **函式);
引數解釋同show()方法。

舉例:

滑入滑出

切換

1、淡入動畫效果:

$(selector).fadein(speed, callback);
作用:讓元素以淡淡的進入視線的方式展示出來。

2、淡出動畫效果:

$(selector).fadeout(1000);
作用:讓元素以漸漸消失的方式隱藏起來

3、淡入淡出切換動畫效果:

$(selector).fadetoggle('fast', callback);
作用:通過改變透明度,切換匹配元素的顯示或隱藏狀態。

引數的含義同show()方法。

**舉例:

淡入淡出

切換改透明度為0.5

$(selector).animate(, speed, callback);
作用:執行一組css屬性的自定義動畫。

**舉例:

自定義動畫

$(selector).stop(true, false);
裡面的兩個引數,有不同的含義。第乙個引數:

第二個引數:

ps:引數如果都不寫,預設兩個都是false。實際工作中,直接寫stop()用的多。

效果演示:

當第二個引數為true時,效果如下:

當第二個引數為false時,效果如下:

這個後續動畫我們要好好理解,來看個例子。

案例:滑鼠懸停時,彈出下拉列表(下拉時帶動畫)

一級選單1

一級選單1

效果如下:

上方**中,關鍵的地方在於,用了stop函式,再執行動畫前,先停掉之前的動畫。

如果去掉stop()函式,效果如下:(不是我們期望的效果)

如果引數jumptoend被設定為true,那麼當前動畫會停止,但是參與動畫的每乙個css屬性將被立即設定為它們的目標值。比如:slideup()方法,那麼元素會立即隱藏掉。如果存在**函式,那麼**函式也會立即執行。

注意:如果元素動畫還沒有執行完,此時呼叫sotp()方法,那麼動畫將會停止。並且動畫沒有執行完成,那麼**函式也不會被執行。

想學習**之外的軟技能掃一掃,你將發現另乙個全新的世界,而這將是一場美麗的意外:

詳解jQuery動畫

jquery動畫分為內建動畫和自定義動畫 內建動畫 顯示show 隱藏hide 顯示隱藏切換toggle 上拉slideup 下拉slidedown 上拉下拉切換slidetoggle 淡入fadein 淡出fadeout 淡入淡出切換fadetoggle 透明度fadeto 自定義動畫 anima...

jquery動畫順序執行 JQuery動畫佇列詳解

jquery動畫存在乙個佇列,當在jquery物件上呼叫動畫方法時,如果物件正在執行某個動畫效果,那麼會把後面的動畫效果,放在乙個佇列裡面,然後按順序執行動畫佇列裡面的每乙個動畫。box.hide 1000,function box.show 1000,function box.fadeout sl...

jquery 動畫效果

首先,在做jquery 動畫效果之前,必須先知道jquery動畫效果的實現順序。jquery中,會把所有的動畫效果 如hide,show等 放入乙個佇列中 預設為 fx 然後依照先進先出的原則執行佇列中的動畫效果。其他的非動畫效果,都不會放入佇列中。並且jquery 會優先執行這些非動畫效果,然後再...