jQuery中的事件与动画

 

一. jQuery中的事件

jQuery事件是对javaScript事件的封装。

1.基础事件

在javaScript中,常用的基础事件有鼠标事件、键盘事件、window事件、表单事件。事件的绑定和处理函数的语法格式如下:

语法:时间名=”函数名()”;

或: DOM 对象.事件名=函数

1.载入事件

在jQuery中,常用的window事件有文档载入事件,它对应的方法是ready()。

2.鼠标事件

当用户在文档上移动或单击鼠标而产生的事件。

方法

描述

执行时机

click()

触发或将函数绑定到指定元素的click事件

鼠标单击时

mouseover()

触发或将函数绑定到指定元素的mouseove事件

鼠标移到时

mouseout()

触发或将函数绑定到指定元素的mouseout事件

鼠标移出时

mouseenter()

触发或将函数绑定到指定元素的mouseenter事件

鼠标进入时

mouseleave()

触发或将函数绑定到指定元素的mouseleave事件

鼠标离开时

3.键盘事件

键盘事件是指当键盘聚焦到Web浏览器时,用户每次按下或释放键盘上的按键时都会产生事件。常用的键盘事件有keydown、keyup、keypress。

方法

描述

执行时机

Keydown()

触发或将函数绑定到指定元素的keydown事件

按下键盘时

Keyup()

触发或将函数绑定到指定元素的keyup事件

释放键盘时

Keypress()

触发或将函数绑定到指定元素的keypress事件

产生可打印的字符时

标准:产生可打印的字符时(相当于用户输入字符)

4.浏览器事件

在浏览网页时,大家经常会调整浏览器窗口的大小。这些都是通过jQuery中的resize()方法触发resize事件,进而处理相关的函数,来完成页面的一些特效。

语法: $(selector).resize();

2.绑定与移除事件

1.绑定事件

在jQuery中,如果需要为匹配的元素同时绑定一个或多个事件,则可以使用bind()方法。

语法: bind(type,[data],fn);//这种已经过时,建议使用on

On(type,[data],fn);

参数类型

参数含义

描述

type

事件类型

主要包扩click、mouseover等基础事件,还可以自定义事件

[data]

可选参数

作为even.data属性值传递给事件对象的额外数据对象,可选项

fn

处理函数

用来绑定处理函数

2.移除事件

当事件执行完了,需要把绑定的事件通过一定的方法取消。在jQuery中提供了移除事件的方法,同样可以移除单个或多个事件,可以使用unbind()方法。

语法:undind([type],[fn]);

Undind()方法有两个参数,这两个参数不时必须的。当unbind()不带参数时,表示移除所绑定的全部事件。

3.复合事件

在jQuery中有两个复合事件方法-hover()和toggle(),这两个方法与ready()类似,都是jQuery自定义的方法。

1.hover()方法

在jQuery中,hover()方法用于模拟鼠标移入和移出事件。当鼠标移入时,会触发指定的第一个函数(enter);当鼠标移除这个函数时,会触发指定的第二个函数(leave),该方法相当于mouseenter和mouseleave事件的组合。

语法:hover(enter,leave);

2.toggle()方法

在jQuery中,toggle()方法分为带参数和不带参数。

  1. 带参数的方法用于模拟鼠标连续click事件。第一次单击元素,触发指定的第一个函数,再次单击则触发指定的第二个函数,如果有更多函数,则依次触发,直到最后

一个。随后的单击都重复对几个函数的轮番调用。

语法:toggle(fn1,fn2…..fnN);

  1. toggle()不带参数时,与show()和hide()方法的作用一样,切换元素的可见状态。如果是可见的,则切换为隐藏状态;如果是隐藏的,则切换为可见状态。

语法: toggle();

与jQuery中的toggle()方法一样,toggleClass()可以对样式进行切换,实现事件触发时某元素在“加载某个事件”和“移除某个事件”之间切换。

语法:toggleClass(className);

3.事件冒泡

当一个父元素的子元素有与父元素相同的事件时,那么父元素的事件执行时,子元素的事件也会执行,那么父元素的一次click事件相当于执行了2次。

1.阻止冒泡事件

下面的例子,BODY元素下有DIV元素,DIV元素下有SPAN元素,分别将三种元素都注册click事件。

那么,click事件会按照DOM的层次结构,像水泡一样不断向上直到顶端,所以称之为事件冒泡。

<body><div><span>我是****</span></div></body>

$("span").bind("click", function(){ alert('span click'); });

$("div").bind("click", function(){ alert('div click'); });

$("body").bind("click", function(){ alert('body click'); });

解决这个问题的办法是:在SPAN执行完click事件后,停止事件冒泡。

$("span").bind("click", function(event){

alert('span click');

event.stopPropagation(); //停止冒泡

});

二. jQuery中的动画

1.控制元素显示与隐藏

1.控制元素的显示

在jQuery中,可以使用show()方法控制元素的显示,除此之外,它还能定义显示时的效果,如显示速度。

语法:$(selector).show([speed],[callback]);

参数

描述

speed

可选项,用于设置显示的速度,取值范围:如1000(毫秒),slow,normal,fast

Callback

可选项,show()函数执行完后,要执行的函数

2控制元素的隐藏

用法与show()方法类似。

语法:$(selector).hide([speed],[callback]);

2.改变元素透明度

1.控制元素淡入

在jQuery中,如果元素是隐藏的,则可以使用fadeIn()方法控制元素淡入,它与show()方法相同,可以定义淡入时的效果,如显示速度

语法:$(selector).fadeIn([speed],[callback]);

其中callback表示fadeIn()执行完后要执行的函数。

2.控制元素淡出

语法:$(selector).fadeOut([speed],[callback]);

3.改变元素的高度

在jQuery中,用于改变元素高度的方法是slideUp()和slideDown()。若元素中的display属性值为none,当调用slideDown()方法时,这个元素会从上向下延伸显示,而slideUp()方法正好相反,元素下到上缩短直至隐藏。

语法:$(selector).slideUp([speed],[callback]);

$(selector).slideDown([speed],[callback]);

4.自定义动画

在jQuery中,可以创建自定义动画,实现各种比较复杂的动画。

语法:$(selector).animate({params},[speed],[callback]);

params:必选项目,定义形成动画的CSS属性。

speed和callback时可选项。

jQuery中事件与动画的更多相关文章

  1. jQuery中事件与动画的总结

       1.加载DOM     1.1.window事件 window.onload=function(){}.... 时机:其他资源都加载完毕后,再执行   $(function(){}) ……:只是 ...

  2. 不写完不让回家的JQuery的事件与动画

    在这看不见太阳的小黑屋里,苦逼的一天又开始了 好了闲话我也就不扯了,接下来我就来说说我对jQuery事件和动画的理解吧!!! 还是得再扯两句,我们敬爱的,Y老师讲完了,jQuery事件和动画,对着我们 ...

  3. Jquery绑定事件及动画效果

    Jquery绑定事件及动画效果 本文转载于:https://blog.csdn.net/Day_and_Night_2017/article/details/85799522 绑定事件 bind(ty ...

  4. jQuery中的渐变动画效果

    jQuery中的渐变动画效果jQuery中的渐变动画效果

  5. jQuery中的经典动画

    show()方法和hide()方法是jQuery中的基本动画方法,hide()方法等于将css()方法设置display属性为none.如何让元素动起来呢,我们可以在show和hide里加入slow, ...

  6. JQuery中事件冒泡

    JQuery中事件冒泡 定义 在一个对象上触发某类事件,就会执行此事件程序,如果没有处理事件就会向这个对象的父级对象传播 直至它被处理,最顶层老大为document对象. 作用 事件冒泡允许多个操作被 ...

  7. bootstrap课程7 jquery中结束之前动画用什么

    bootstrap课程7 jquery中结束之前动画用什么 一.总结 一句话总结:stop()方法.$('.navs').not($('.navs').eq(idx)).stop().hide(100 ...

  8. jQuery中事件的学习

    刚学习了jQuery中的事件,主要通过bind(),toggle(),hover()来主要实现,下面先说一说关于bind的想关要点. 1.bind方法. bind方法的主要参数为bind(type,f ...

  9. jQuery之事件和动画

    1.加载DOM $(document).ready(function(){ }) 简写形式: $(function(){ }) 事件绑定: 合成事件 事件冒泡 移除事件 JQuery中的动画 show ...

随机推荐

  1. Java打印实心、空心的三角形和菱形

    1.实心三角形 代码: import java.util.Scanner; public class Test { public static void main(String[] args) { i ...

  2. pip与conda的区别

    pip和conda到底有什么不一样? 今天看到我的foreman开始报错去询问才发现.我们的python包管理工具已经从pip整体迁移到了conda..最近的迁移真的非常多..前端也在迁移打包 跟着发 ...

  3. Storm 学习之路(六)—— Storm项目三种打包方式对比分析

    一.简介 在将Storm Topology提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任何插 ...

  4. Kali Linux Web渗透测试手册(第二版) - 1.0 - 渗透测试环境搭建

    一.配置KALI Linux和渗透测试环境 在这一章,我们将覆盖以下内容: 在Windows和Linux上安装VirtualBox 创建一个Kali Linux虚拟机 更新和升级Kali Linux ...

  5. Docker 安装mysql容器数据卷挂载到宿主机

    环境 Centos:7 Docker: 17.05-ce Mysql: 5.7 1. Mysql外部数据和配置文件路径 msyql配置文件路径:/etc/mysql mysql数据卷路径:/var/l ...

  6. <h2>js数组操作大全(pop,push,unshift,splice,shift方法)</h2>

    ---恢复内容开始--- shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a ...

  7. 机器学习之使用Python完成逻辑回归

    一.任务基础 我们将建立一个逻辑回归模型来预测一个学生是否被大学录取.假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会.你有以前的申请人的历史数据,你可以用它作为逻辑回归的 ...

  8. python学习 -女神或者男神把微信消息撤回后好慌,有了这个妈妈再也不担心你看不到女神或者男神撤回的消息了(超详解)

    简介 有时候在忙工作,女朋友发了一个消息,就撤回了,但是人天生的都有一颗好奇心,而且在当今这个时代找个女朋友不容易,一个程序猿找一个女朋友更是不容易的.人家好不容易跟你,你还不得把人家当老佛爷侍候着, ...

  9. HDU 1074:Doing Homework(状压DP)

    http://acm.hdu.edu.cn/showproblem.php?pid=1074 Doing Homework Problem Description Ignatius has just ...

  10. ElasticStack学习(四):ElasticSearch文档使用与操作

    一.文档的CRUD介绍 ElasticSearch中存在五种操作,分别如下: 1.Index 该操作表示:如果文档的ID不存在,则创建新的文档.若有相同的ID,先删除现有文档,然后再创建新的文档,同时 ...