一、事件绑定

1.鼠标事件:模拟触发

什么是模拟触发?

虽然没有点在按钮上,也可以触发按钮的事件处理函数。

如何:$元素.trigger("事件名")

即使没有点在指定的元素上,也能触发该元素上绑定的事件处理函数。

简写:如果要触发的事件,刚好是21种简写中的一种,可使用事件处理函数一个函数两用的方法触发:

$元素.事件名()

强调:()中不要加处理函数

二、动画

简单动画:写死的固定不变的三种动画效果:

1.显示隐藏:.show()、.hide()、.toggle()

问题:.show() 、.hide()不加参数时,默认使用display:block和display:none控制瞬间显示隐藏。

如果想有动画效果,必须加持续事件参数。

2.上滑下滑: .slideUp()、.slideDown()、.slideToggle()

3.淡入淡出:.fadeIn()、.fadeOut()、.fadeToggle()

简单动画所有函数的共性问题:

1.效果是写死的!几乎不可维护!

2.用js定时器和DOM操作模拟的动画效果-----效率极低

但是,.show()、.hide()、.toggle()在不加参数时,代替的是.css("display","block/none"),

这个是没有效率和可维护性损失的。所以,这三个不加参数的情况,还是非常推荐使用的。

2.万能动画:

什么是:可对任意css属性应用动画效果

何时:只要希望对任意css属性应用动画效果时

如何:

1.$元素.animate({ css属性:目标值 } [动画持续时间,callback])

2.让当前元素从现在的状态,经过指定的时间后,缓慢过渡到目标状态。

3.强调:animate()中只需要些目标值,animate()可自动获得当前的对应属性值,自动计算变化的距离。

问题:

1.也是用js定时器和DOM操作模拟的动画效果

2.其实只支持单个数值的css属性,不支持CSS3动画,不支持颜色过渡。

排队和并发:

1.并发执行:多个css属性同时变化

如何:一个animate()内的多个css属性默认并发执行。

2.排队并发:多个css属性按顺序依次先后变化

如何:对同一个元素先后调用多次animate()函数,多次animate函数中的css属性是排队执行。

原理:其实在jq中,每个元素都有一个动画队列。

调用animate时,其实并不是立刻播放动画的意思,仅仅是将动画加入队列中保存

能否立刻执行动画,取决于当前动画之前是否有等待的或正在执行的其他动画。

在动画结束后自动执行:

问题:jq的动画函数都是用js定时器模拟的,所以都是异步的!

解决:每个动画函数都提供了最后一个参数,是一个回调函数。写在这个回调函数中的代码,

都是在动画结束后,才自动调用的。

停止动画:$元素.stop()

坑:默认只能停止当前正在播放的一个动画。如果队列中后续还有其他动画,则依然继续执行。

解决:$元素.stop(true)                 停止当前动画,且清除动画队列。

判断一个元素是否在播放jquery动画:

1.:animated 选择器

2.专门匹配正在播放动画的元素

4.类数组对象操作:

js中类数组对象很受歧视,长得像数组,但数组家的好用的函数,类数组对象都用不了。

但是,jq中创建的jq对象,都是类数组对象,于是,JQuery就为jq对象,模拟出了两个和数组家功能相似的函数:

1.遍历:

js数组中:arr.forEach(function(elem,i,arr){....})

jq中:$(查找结果).each(function(i,DOM元素){....})

依次取出.前的查找结果集合中的每个DOM元素,执行相同的操作!

2.查找:js数组中:var i =arr.indexOf(值)

js中:var i=$(查找结果).index(元素)              查找元素在结果集合中的位置i

Jquery动画,排队与并发的更多相关文章

  1. 深入学习jQuery动画控制

    × 目录 [1]动画状态 [2]停止动画 [3]动画延迟[4]全局控制 前面的话 jQuery动画可以使用fade.hide.slide等方法实现基本动画效果,可以使用animate实现自定义动画,甚 ...

  2. 让网站动起来!12款优秀的 jQuery 动画插件推荐

    如今,大多数设计师和开发人员被要客户要求开发动态的网站.创造视觉震撼和醒目的动态网站是艰巨的任务,因为它需要大量的努力和创造力.在网络上有大量的工具和插件可用于创建网站动画.许多开发人员正在使用 HT ...

  3. jquery 动画总结(主要指效果函数)

    动画无非两类:帧动画frame和变形动画tween,以及3d动画.不论web还是安卓苹果app,动画原理都是这些. web app 动画实现的途径,无非这几种:1 gif动画---这就是帧动画,把若干 ...

  4. js进阶 13 jquery动画函数有哪些

    js进阶 13 jquery动画函数有哪些 一.总结 一句话总结: 二.jquery动画函数有哪些 原生JavaScript编写动画效果代码比较复杂,而且还需要考虑兼容性.通过jQuery,我们使用简 ...

  5. js进阶 13-6 jquery动画效果相关常用函数有哪些

    js进阶 13-6 jquery动画效果相关常用函数有哪些 一.总结 一句话总结:animate(),stop(),finish(),delat()四个. 1.stop()方法的基本用法是什么(sto ...

  6. 让网站动起来!12款优秀的 jQuery 动画

    Textillate.js 介绍:Textillate.js 是一个简单的 CSS3 文本动画插件.结合了一些非常棒的库,把 CSS3 动画轻松应用到任何文本.只需要在项目中简单地引入 textill ...

  7. jQuery动画的实现

    没有引入deferred机制,其余流程都有了 //////////// //创建动画缓动对象 // //////////// function Tween(value, prop, animation ...

  8. 深入学习jQuery动画队列

    前面的话 队列实现是jQuery非常棒的一个拓展,使用动画队列可以使动画更容易实现.本文将详细介绍jQuery动画队列 queue() queue()方法用来显示在匹配的元素上的已经执行的函数队列 q ...

  9. jquery动画,基础以及我发现的新大陆

    $.animate()在jquery官方介绍有2中方式,其实我发现的新大陆也是第二种方式的扩展! 一.$.animate( properties [, duration ] [, easing ] [ ...

随机推荐

  1. Scrapy中的crawlspider

    crawlspider 能自动的获取url并提交请求 命令:scrapy genspider -t crawl spidername 'example.cn' 所导入的模块 # -*- coding: ...

  2. ERC20 Short Address Attack

    ERC20 Short Address Attack 什么是ERC20 Application Binary Interface(ABI) ERC20 Short Address Attack 开始攻 ...

  3. 如何理解Java的值传递

    结论 为了加深印象,先把结论放在文章开头. ++Java中只有值传递++. 形参与实参 在理解Java的值传递 实参Argument 实际参数,主调用函数传递给调用函数的参数 形参Parameter ...

  4. 安装opencv3.3.0方法

    #系统环境:CentOS6.5 x64 #首先安装jdk7u80 mkdir  /java tar -zxvf  jdk-7u80-linux-x64.gz  -C  /java/ vim  /etc ...

  5. Mybatis详解系列(五)--Mybatis Generator和全注解风格的MyBatis3DynamicSql

    简介 Mybatis Generator (MBG) 是 Mybatis 官方提供的代码生成器,通过它可以在项目中自动生成简单的 CRUD 方法,甚至"无所不能"的高级条件查询(M ...

  6. 数据库SQL语言从入门到精通--Part 1--SQL语言概述

    数据库从入门到精通合集(超详细,学习数据库必看) 一.SQL概述 关系数据库标准语言SQL(结构化查询语言). 结构化查询语言(Structured Query Language)简称SQL,是一种特 ...

  7. Codeforces Round #509 (Div. 2) A. Heist 贪心

    There was an electronic store heist last night. All keyboards which were in the store yesterday were ...

  8. postman(全局变量设置)

    全局变量 全局变量作用于整个postman工具及所有环境 1.点击小齿轮进入到变量添加页面,点击Globals添加全局变量 2.输入变量名称和变量值 3.接口中设置变量 4.调用 Globals 变量 ...

  9. 算法——Java实现栈

    栈 定义: 栈是一种先进后出的数据结构,我们把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何元素的栈称为空栈 栈的java代码实现: 基于数组: import org.junit.jupite ...

  10. 如何在C#/.NET Core中使用责任链模式

    原文:Chain Of Responsbility Pattern In C#/.NET Core 作者:Wade 译者:Lamond Lu 最近我有一个朋友在研究经典的"Gang Of F ...