详解jQuery中基本的动画方法


Posted in Javascript onDecember 14, 2016

大致介绍

通过jQuery中基本的动画方法,能够轻松地为网页添加非常精彩的视觉效果,给用户一种全新的体验

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);
 });

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Add a Table to a Word Document
Jun 15 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
Mar 14 Javascript
JS常见问题整理(持续更新)
Aug 06 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
Oct 29 Javascript
Android中的jQuery:AQuery简介
May 06 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
Sep 25 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 Javascript
vue2.0与bootstrap3实现列表分页效果
Nov 28 Javascript
js使用cookie实现记住用户名功能示例
Jun 13 Javascript
如何用JS模拟实现数组的map方法
Jul 30 Javascript
浅析上传头像示例及其注意事项
Dec 14 #Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 #Javascript
jQuery 常见小例汇总
Dec 14 #Javascript
javascript基本数据类型及类型检测常用方法小结
Dec 14 #Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
Dec 14 #Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Dec 14 #Javascript
实例解析angularjs的filter过滤器
Dec 14 #Javascript
You might like
PHP4和PHP5共存于一系统
2006/11/17 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
canvas时钟效果
2017/02/16 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
JS实现上传图片实时预览功能
2017/05/22 Javascript
谈谈VUE种methods watch和compute的区别和联系
2017/08/01 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
2020/08/21 Javascript
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
深入理解python中的select模块
2017/04/23 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
详解Django中异步任务之django-celery
2020/11/05 Python
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
大学自主招生自荐信
2013/12/16 职场文书
培训主管岗位职责
2014/02/01 职场文书
迟到检讨书300字
2014/02/14 职场文书
《二泉映月》教学反思
2014/04/15 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
国庆节标语大全
2014/10/08 职场文书
作弊检讨书范文
2015/05/06 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
netty 实现tomcat的示例代码
2022/06/05 Servers
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python