第三章 jQuery中的事件与动画
第三章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()方法分为带参数和不带参数。
- 带参数的方法用于模拟鼠标连续click事件。第一次单击元素,触发指定的第一个函数,再次单击则触发指定的第二个函数,如果有更多函数,则依次触发,直到最后
一个。随后的单击都重复对几个函数的轮番调用。
语法:toggle(fn1,fn2…..fnN);
- 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中的事件与动画的更多相关文章
- JQuery制作网页—— 第七章 jQuery中的事件与动画
1. jQuery中的事件: ●和WinForm一样,在网页中的交互也是需要事件来实现的,例如tab切换效果,可以通过鼠标单击事件来实现 ●jQuery事件是对JavaScript事件的封装,常用事件 ...
- 第4章 jQuery中的事件和动画
4.1 jQuery中的事件 4.1.1 加载DOM jQuery就是用 `$(document).ready()方法来代替传统JavaScript的window.onload方法的. 1.执行时机 ...
- 第3章 jquery中的事件和动画
一,jquery中的事件 (1).执行时机 $(document).ready()和window.onload方法有相似的功能,但是在执行时机方面有区别,windwo.onload在网页中所有的元素包 ...
- 第七章 jQuery中的事件与动画
事件的分类 基础事件: 鼠标事件 键盘事件 window事件 表单事件 复合事件: 鼠标光标悬停 鼠标连续点击 基础事件: 实例: mouseenter()和mouseover()用法的区别: mou ...
- jQuery中的事件和动画——《锋利的jQuery》(第2版)读书笔记2
第4章 jQuery中的事件和动画 jQuery中的事件 加载DOM $(document).ready(function(){ // 编写代码... }); 可以简写成: $(function( ...
- jQuery中的事件与动画<思维导图>
Javascript和HTML之间的交互是通过用户和浏览器操作页面时引发的事件来处理的.当文档或者它的某些元素发生某些变化或操作时,浏览器会自动生成一个事件.例如当浏览器装载完一个文档后,会生成事件. ...
- jQuery中的事件和动画 以及视频展示效果实例
经过这几天学习jQuery中的事件和动画,对jQuery更深的认识,接下来先把视频展示效果的代码贴出来,最后把我在学习jQuery事件和动画之后总结的思维导图 <!doctype html> ...
- jQuery学习笔记(三)jQuery中的事件
目录 加载DOM 事件绑定 合成事件 事件冒泡 移除事件 一.加载DOM Javascript 与HTML之间的交互是通过用户操作浏览器页面引发的事件来处理的.jQuery提供了丰富的事件处理机制.从 ...
- Javascript事件模型系列(三)jQuery中的事件监听方式及异同点
作为全球最知名的js框架之一,jQuery的火热程度堪称无与伦比,简单易学的API再加丰富的插件,几乎是每个前端程序员的必修课.从读<锋利的jQuery>开始,到现在使用jQuery有一年 ...
随机推荐
- 记录一个前端bug的解决过程
人在江湖飘,哪能不挨刀. 我挨了重重一bug.严格来讲这可能是我职业生涯以来的首个悲惨经历,因为凭我的知识储备和经验,基本上任何可重现的bug都是可解的.然而这个bug却困扰了我三个月之久,它具有以下 ...
- 11.python线程
基本概念 1.进程 定义: 进程就是一个程序在一个数据集上的一次动态执行过程. 组成: 进程一般由程序.数据集.进程控制块三部分组成. 程序: 我们编写的程序用来描述进程要完成哪些功能 ...
- 仿QQ发语音、图片选择、表情选择demo
一款仿QQ发语音.图片选择.调用拍照.表情选择的demo git地址:https://github.com/PureLovePeter/pic.git. 喜欢的请 star star star,共 ...
- 消息队列的使用 RabbitMQ
RabbitMQ 是一款开源且比较流行的消息中间件.但用起来还是比较麻烦,有人封装了一层, 这就是 EasyNetQ . 一.安装 1.安装 Erlang: http://www.erlang.org ...
- 标准mysql(x64) Windows版安装过程
mysql x64不提供安装器,不提供安装器,不提供安装器-- 每次查英文文档有点慢,不够简. 5.7.6以后的64位zip包下载后解压是没有data目录的. 进入解压后的bin目录:(我用的powe ...
- 收集nodejs经典组件:
mysql功能简介:mysql- node.js平台mysql驱动,支持事务.连接池.集群.sql注入检测.多做参数传递写法等特性.主页地址:https://github.com/felixge/no ...
- 使用domain模块捕获异步回调中的异常
和其他服务器端语言相比,貌似node.js 对于异常捕捉确实非常困难. 首先你会想到try/catch ,但是在使用过程中我们会发现并没有真正将错误控制在try/catch 语句中. 为什么? 答案是 ...
- 大数据 --> Spark和Hadoop作业之间的区别
Spark和Hadoop作业之间的区别 熟悉Hadoop的人应该都知道,用户先编写好一个程序,我们称为Mapreduce程序,一个Mapreduce程序就是一个Job,而一个Job里面可以有一个或多个 ...
- bootstrap 模态框(modal)插件使用
今天用户登陆时,在原网页上弹出新登陆窗口,发现使用的是modal插件,记录下该插件的使用方法,手写强化下. 首先,模态框(modal)是覆盖在父窗体上的子窗体,目的是显示来自一个单独的源的内容,可以在 ...
- php设计模式八-----装饰器模式
1.介绍: 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 这种模式创建了一个装饰 ...