详解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 相关文章推荐
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
Apr 05 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
javascript实现按回车键切换焦点
Feb 09 Javascript
AngularJS使用ng-class动态增减class样式的方法示例
May 18 Javascript
浅谈ES6 模板字符串的具体使用方法
Nov 07 Javascript
Angular2 父子组件通信方式的示例
Jan 29 Javascript
vue.js与后台数据交互的实例讲解
Aug 08 Javascript
Vue 中使用富文本编译器wangEditor3的方法
Sep 26 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 23 Javascript
小程序实现列表展开收起效果
Jul 29 Javascript
jQuery实现推拉门效果
Oct 19 jQuery
浅析上传头像示例及其注意事项
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
PHP 编写大型网站问题集
2010/05/07 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
js实现无缝滚动图
2017/02/22 Javascript
bootstrap3-dialog-master模态框使用详解
2017/08/22 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
Python写的一个简单DNS服务器实例
2014/06/04 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
python与C互相调用的方法详解
2017/07/14 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
法雷奥SQA(electric)面试问题
2016/01/23 面试题
我爱我家教学反思
2014/05/01 职场文书
初三新学期计划书
2014/05/03 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
员工离职证明范本
2015/06/12 职场文书