国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解jQuery中基本的動畫方法

2019-11-19 18:29:25
字體:
來源:轉載
供稿:網友

大致介紹

通過jQuery中基本的動畫方法,能夠輕松地為網頁添加非常精彩的視覺效果,給用戶一種全新的體驗

jQuery中的動畫

show()和hide()方法

1、show()方法和hide()方法是jQuery中最基本的方法,hide()方法會將一個元素的display設置為"none";

2、show()方法和hide()方法會同時改變元素的寬度、高度和透明度

3、在一個元素使用hide()方法時會記錄原先的display屬性,當調用show()方法的時候會根據hide()方法記住的display屬性值來顯示該元素

4、show()方法和hide()方法都能接受一個參數,表示運動的快慢

$('.div1').toggle(function(){$('.div2').hide(600); },function(){  $('.div2').show(600); });

fadeIn()方法和fadeOut()方法

1、fadeOut()方法在指定的一段時間內只降低元素的不透明度,而fadeIn()方法則相反

2、接受一個參數

 $('.div1').toggle(function(){  $('.div2').fadeIn(600); },function(){  $('.div2').fadeOut(600); });

slideUp()方法和slideDown()方法

 1、slideUp()方法和slideDown()方法只會改變元素的高度。如果一個元素的display屬性值為"none",當調用slideDown()方法時,這個元素將由上至下延伸,slideUp()方法相反

 2、接受一個參數

 $('.div1').toggle(function(){  $(this).next().slideUp(); },function(){  $(this).next().slideDown(); });

自定義動畫方法animate()

 語法:animate(params,speed,callback);

 (1)params:一個包含樣式屬性及值得映射

 (2)speed:速度參數,可選

 (3)callback:在動畫完成時執行的函數,可選

1、基本用法

 $('.div1').click(function(){  $('.div2').animate({width:'+=50px',height:'300px'},600); });

2、多重動畫

如果要采用鏈式運動可以采用鏈式寫法

 $('.div1').click(function(){ $('.div2').animate({width:'350px'},600)  .animate({height:'300px'},600); });

注意:如果采用鏈式寫法時用了css()方法,css()方法不會添加到運動隊列中,會直接執行而不等待前面的動畫

 $('.div1').click(function(){  $('.div2').animate({width:'350px'},600)   .animate({height:'300px'},600)   .css('border','10px solid black'); });

這個元素的邊框會在一開始就添加到了元素上,要解決這個問題的辦法就是使用回調函數

如果要同時運動可將要運動的值寫在一起

 $('.div1').click(function(){ $('.div2').animate({width:'350px',height:'300px'},600); });

回調函數

回調函數適用與jQuery所有的動畫效果方法

例如要解決鏈式寫法css()屬性會直接執行的問題可以采用回調函數的方法

 $('.div1').click(function(){ $('.div2').animate({width:'350px'},600)   .animate({height:'300px'},600,function(){   $('.div2').css('border','10px solid black');  }); });

停止動畫和判斷是否處于動畫狀態

1、停止元素的動畫

stop()方法接受兩個參數

第一個參數為true或者false,表示是否要清空為執行完的動畫隊列,例如我們寫鏈式動畫時,如果第一個參數為true,當我們阻止了正在進行的一個動畫操作后,后面的動畫操作都會被清空,如果參數為false時,就只會阻止當前的這個動畫,動畫隊列后的動畫依舊執行

第二個參數為true或者false,表示是否要將正在執行的動畫跳轉到末狀態

2、判斷元素是否處于動畫狀態

如果用戶頻繁的執行一個animate()動畫時,就會出現動畫積累,解決方法就是判斷元素是否正處于動畫狀態,如果元素不處于動畫狀態,才為元素添加新的動畫

if(!$('div1').is(':animated')){ // 添加動畫 }

3、延遲動畫

如果要延遲執行一個動畫,就可以使用delay()方法

 $('.div1').click(function(){  $('.div2').animate({width:'350px'},600)   .delay(1000)   .animate({height:'300px'},600,function(){    $('.div2').css('border','10px solid black');   }); });

其他動畫方法

1、slideToggle()方法

通過高度的變化來切換匹配的元素的可見性

$('.div1').click(function(){ $('.div2').slideToggle();});

2、fadeTo()方法

可以把元素的不透明度以漸進的方式調整到指定的值,這個動畫只調整元素的不透明度

 $('.div1').click(function(){ $('.div2').fadeTo(600,0.5); });

3、fadeToggle()方法

通過不透明度來切換匹配元素的可見性

 $('.div1').click(function(){ $('.div2').fadeTo(600,0.5); });

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 克拉玛依市| 庄河市| 皋兰县| 南川市| 南丰县| 镇平县| 沈阳市| 堆龙德庆县| 郁南县| 离岛区| 上林县| 全南县| 盱眙县| 威信县| 临颍县| 新蔡县| 宝丰县| 桦川县| 车致| 兴业县| 泰宁县| 雅江县| 永定县| 曲靖市| 曲阳县| 宣恩县| 开阳县| 安仁县| 康马县| 梁河县| 平遥县| 南皮县| 百色市| 会昌县| 元朗区| 荆门市| 彭山县| 拜城县| 扎鲁特旗| 芜湖市| 黔西县|