▓▓▓▓▓▓ 大致介绍

    通过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').fadeToggle(1000);
});

  

jQuery学习之路(4)- 动画的更多相关文章

  1. jQuery学习之路(1)-选择器

    ▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...

  2. jquery学习笔记(四):动画

    内容来自[汇智网]jquery学习课程 4.1 显示和隐藏 在jQuery中使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: hide()的语法形式:$(selector).h ...

  3. jQuery学习之路(8)- 表单验证插件-Validation

    ▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...

  4. jQuery学习之路(7)- 用原生JavaScript实现jQuery的某些简单功能

    ▓▓▓▓▓▓ 大致介绍 学习了妙味,用原生的JavaScript实现jQuery中的某些部分功能 定义自己的函数库lQuery ▓▓▓▓▓▓ $()选择器的实现 jQuery是面向对象的,所以自己编写 ...

  5. jQuery 学习之路(2):选择器与过滤器

    一.基本选择器 标签选择器: $('button') ID选择器: $('#id1') 类选择器: $('.class1') 多重选择器: $('#id1,.class1,button') 全体选择器 ...

  6. jQuery 学习之路(1):引子

    一.主流 javascript 库 除 jQuery 外,还有 Prototype.Dojo.YUI.ExtJS.MooTools ,其中 Prototype 较老,结构设计较为松散,ExtJS 界面 ...

  7. jquery学习笔记-----事件和动画

    一.ready机制 $(document).ready( function(){} ) $().ready( function(){} ) $( function(){} )  jquery的read ...

  8. jQuery学习之旅 Item9 动画效果

    1.元素的显示和隐藏 display:none; 隐藏 display:block; 显示 简单显示和隐藏方法 a) show() 显示 b) hide() 隐藏 c) toggle() 开关,显示则 ...

  9. Jquery学习之路(二) 实现table样式的设定

    上一篇jquery实现checkbox的全选,得到了一些朋友的建议,其中插件的定义我的确不太清楚,也闹了个笑话,有些朋友建议我去看<锋利的Jquery>,说实话正在看了.由于正在学习中,我 ...

随机推荐

  1. 高性能Javascript--脚本的无阻塞加载策略

    Javascript在浏览器中的性能,可以说是前端开发者所要面对的最重要的可用性问题. 在Yahoo的Yslow23条规则当中,其中一条是将JS放在底部 .原因是,事实上,大多数浏览器使用单进程处理U ...

  2. KMP算法求解

    // KMP.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using namespac ...

  3. Vue.js 2.0 和 React、Augular等其他框架的全方位对比

    引言 这个页面无疑是最难编写的,但也是非常重要的.或许你遇到了一些问题并且先前用其他的框架解决了.来这里的目的是看看Vue是否有更好的解决方案.那么你就来对了. 客观来说,作为核心团队成员,显然我们会 ...

  4. spark处理大规模语料库统计词汇

    最近迷上了spark,写一个专门处理语料库生成词库的项目拿来练练手, github地址:https://github.com/LiuRoy/spark_splitter.代码实现参考wordmaker ...

  5. DBSCAN密度聚类算法

    DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-M ...

  6. iOS开发之再探多线程编程:Grand Central Dispatch详解

    Swift3.0相关代码已在github上更新.之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD ...

  7. 算法与数据结构(十六) 快速排序(Swift 3.0版)

    上篇博客我们主要聊了比较高效的归并排序算法,本篇博客我们就来介绍另一种高效的排序算法:快速排序.快速排序的思想与归并排序类似,都是采用分而治之的方式进行排序的.快速排序的思想主要是取出无序序列中第一个 ...

  8. spring源码分析之<context:property-placeholder/>和<property-override/>

    在一个spring xml配置文件中,NamespaceHandler是DefaultBeanDefinitionDocumentReader用来处理自定义命名空间的基础接口.其层次结构如下: < ...

  9. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  10. FineBI:一个简单易用的自助BI工具

    过去,有关企业数据分析的重担都压在IT部门,传统BI分析更多面向的是具有IT背景的人员.但随着业务分析需求的增加,很多公司都希望为业务用户提供自助分析服务,将分析工作落实到业务人员手中.但同时,分析工 ...