jQuery 中的事件和动画
一.jQuery中的事件
1.加载DOM
以浏览器装载文档为例,在页面加载完毕后,浏览器会通过JavaScript为DOM元素添加事件。在常规JavaScript代码中,通常使用window.onload方法,而在jQuery中,使用是$(document).ready()方法。但是要注意一下二者的区别:
执行时机:window.onload()方法是在网页中所有元素(包括所有关联文件)完全加载到浏览器后才执行。而通过jQuery中的$(document).ready()方法注册的事件处理程序在DOM完全就绪时就可以被调用(并不是所有关联文件都下载完毕)。当有时候元素的关联文件还未下载完,可以使用jQuery中另一个关于页面加载的方法—load()方法:
$(window).load(function(){
//编写代码
})
等价于JavaScript中的以下代码:
window.onload=function(){
//
}
多次使用:假设网页中有两个函数,当使用window.onload方法时不能同时编写多个,那样只会执行最后那个函数,而$(document).ready()方法可以同时编写多个,就是在现有的行为上追加新的行为,且会顺序执行。例:
$(document).ready(function(){
one();
})
$(document).ready(function(){
two();
})
简写方式:
$(function(){
//
})
2.事件绑定
在文档装载完成后,可以使用bind()方法来对匹配元素进行特定事件的绑定:
bind(type [, data] , fn); //第一个参数事件类型,第二个可选参数,第三个用来绑定的处理函数
1
若要判断元素是否隐藏和显示循环出现时,可以使用jQuery中的is()方法来完成。
3.合成事件
jQuery有两个合成事件,属于自定义方法:
hover()方法—用于模拟光标悬停事件
hover(enter,leave); //光标移动在此时触发第1个函数,离开时触发第2个函数
1
toggle()方法—用于模拟鼠标连续单击事件/还可以切换元素的可见状态
toggle(fn1,fn2,...fnN); //第一次单击触发第一个函数,第二次单击触发第二个,依次触发
1
4.事件冒泡
在页面上可以有多个事件,也可以多个元素相应同一个事件,假设页面上有一个div元素,另一个span元素嵌套在里面,并且都被绑定了click事件,同时body元素上也绑定了click事件,当单击内部span元素时,会触发span元素的click事件,同时也会按照DOM的层次结构顺序响应嵌套的每一个元素,称为顺序冒泡,顺序为span—div—body。
停止事件冒泡:
event.stopPropagation();
1
阻止元素的默认行为:
event.preventDefault();
1
也可以将上面的方法换成简写方式:
return false;
1
事件捕获:事件捕获和事件冒泡是刚好相反的两个过程,事件捕获是从最外层元素开始,然后再到最里层元素。
5.事件对象的属性
event.type——获取事件类型
event.preventDefault()——阻止默认行为
event.stopPropagation()——阻止事件冒泡
event.target——获取到触发事件的元素
event.relatedTarget——访问mouseover和mouseout的相关元素
event.pageX和event.pageY——获取到光标相对于页面的x坐标和y坐标
event.which——在鼠标单击事件中获取鼠标的左、中、右键
event.metaKey——为键盘事件中获取ctrl按键
6.移除事件
在绑定事件过程中,不仅可以为同一个元素绑定多个事件,也可以为多个元素绑定同一个事件。
移除按钮元素上以前注册的事件:
<button id="delAll">删除所有事件</button>
$('#delAll').click(function(){
$('#btn').unbind("click");
});
语法:unbind([type],[data]); //第一个参数事件类型,第二个参数将要移除的函数
移除元素的其中一个事件:
$('#delTwo').click(function(){
$('#btn').unbind("click",myFun2); //首先为处理函数指定一个变量myFun2,然后删除绑定函数2
});
One()方法可以为元素绑定处理函数,触发一次后立即解除:
one(type,[data],fn);
1
7.模拟操作
使用trigger()方法完成模拟操作,不需要单击页面加载完毕便会输出:
$('#btn').trigger("click"); //常用模拟
$('#btn').trigger("click"); //触发自定义事件
trigger(type,[data]) //第一个参数要触发的事件类型,第二个事件传递给事件处理函数的附加数据
$("input").trigger("focus"); //执行浏览器默认操作
$("input").triggerHandler("focus"); //只触发绑定事件,不执行浏览器默认操作
8.其他用法
绑定多个事件类型: $("div").bind("mouseover mouseout",function(){ })
添加事件命名空间,便于管理:$("div").bind("mouseover.plugin",function(){ })
相同事件名称,不同命名空间执行方法
二.jQuery中的动画
1. show()方法和hide()方法
$("element").hide(); //隐藏
$("element").show(); //显示
$("element").css("display","none"); //通过css方法隐藏
show方法和hide方法让元素动起来
$("element").show("slow"); //慢速显示
1
2.fadeIn()方法和fadeOut()方法—改变元素的不透明度
3.slideUp()方法和slideDown()方法—改变元素的高度
4.自定义动画方法animate()
animate(params,speed,callback); //一个包含样式属性及值的映射,速度,在动画完成时执行的函数
1
5.动画回调函数
6.停止动画和判断是否处于动画状态
停止元素的动画:
stop([clearQueue],[gotoEnd]); //是否清空未执行完的动画队列,是否直接将正在执行的动画跳转到末状态
1
判断元素是否处于动画状态:
if(! $(element).is(":animated")){
//如果当前没有进行动画,则添加新动画
}
延迟动画:delay();
7.其他动画方法
toggle(speed,[callback])——切换元素的可见状态
slideToggle(speed,[easing],[callback])——通过高度变化来切换匹配元素的可见性
fadeTo(speed,opacity,[callback])——把元素的不透明度以渐进方式调整到指定的值
fadeToggle(speed,[easing],[callback])——通过不透明度变化来切换匹配元素的可见性
jQuery 中的事件和动画的更多相关文章
- jQuery中的事件和动画——《锋利的jQuery》(第2版)读书笔记2
第4章 jQuery中的事件和动画 jQuery中的事件 加载DOM $(document).ready(function(){ // 编写代码... }); 可以简写成: $(function( ...
- jQuery中的事件与动画<思维导图>
Javascript和HTML之间的交互是通过用户和浏览器操作页面时引发的事件来处理的.当文档或者它的某些元素发生某些变化或操作时,浏览器会自动生成一个事件.例如当浏览器装载完一个文档后,会生成事件. ...
- 第三章 jQuery中的事件与动画
第三章jQuery中的事件与动画 一. jQuery中的事件 jQuery事件是对javaScript事件的封装. 1.基础事件 在javaScript中,常用的基础事件有鼠标事件.键盘事件.wind ...
- jQuery中的事件和动画 以及视频展示效果实例
经过这几天学习jQuery中的事件和动画,对jQuery更深的认识,接下来先把视频展示效果的代码贴出来,最后把我在学习jQuery事件和动画之后总结的思维导图 <!doctype html> ...
- jQuery中的事件与动画 (你的明天Via Via)
众所周知,页面在加载时,会触发load事件:当用户单击某个按钮时,会触发该按钮的click事件. 这些事件就像日常生活中,人们按下开关,灯就亮了(或者灭了),往游戏机里投入游戏币就可以启动游戏一样, ...
- Jquery中的事件和动画
在学习Jquery中的过程中我们绝大部分都用到了事件的操作,也可以说事件是Jquery中必不可少的一部分,我们常见的一些事件有单击事件,鼠标事件,键盘事件等等.在Jquery中的学习中为了能使让页面以 ...
- 【jQuery基础学习】03 jQuery中的事件与动画
关于jQuery中的事件 js与HTML之间的交互是通过用户和浏览器操作页面时引发的事件来处理的. jQuery增加并扩展了基本的事件处理机制,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在网页中所有的元素包 ...
随机推荐
- P5200 [USACO19JAN]Sleepy Cow Sorting
P5200 [USACO19JAN]Sleepy Cow Sorting 题目描述 Farmer John正在尝试将他的N头奶牛(1≤N≤10^5),方便起见编号为1…N,在她们前往牧草地吃早餐之前排 ...
- PAT(B) 1062 最简分数(Java)
题目链接:1062 最简分数 (20 point(s)) 题目描述 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正 ...
- 列主元消去法&全主元消去法——Java实现
Gauss.java package Gauss; /** * @description TODO 父类,包含高斯列主元消去法和全主元消去法的共有属性和方法 * @author PengHao * @ ...
- 机器学习-EM算法-GMM模型笔记
GMM即高斯混合模型,下面根据EM模型从理论公式推导GMM: 随机变量X是有K个高斯分布混合而成,取各个高斯分布的概率为φ1,φ2,... ,φK,第i个高斯分布的均值为μi,方差为Σi.若观测到随机 ...
- 最小轻量级的Istio来了,仅使用流量治理能力
Istio 1.0.1作为8月份的版本已经发布,主要修复了1.0版本发布以来发现的一些关键Issue.官网的release note(https://istio.io/about/notes/1.0. ...
- Ext之页面多次请求问题(下拉框发送无关请求)
extjs 下拉框在拉取本地数据,然后又要展示后台数据时,出现过此问题(加载页面,自动发送无关的请求导致后台出现错误日志) { xtype:'combo', id:'state', width:130 ...
- LInux设置tomcat端口为80
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" ...
- git的下载和安装
Git 安装配置 在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://g ...
- Mac命令行指定特定程序打开文件
如果文件已被指定默认程序 open httpd.conf 指定一个特定程序打开文件 # 用 sublime text 打开 httpd.conf open -a /Applications/Subli ...
- 六、select查询基础篇
前言: DQL(Data QueryLanguage):数据查询语言,通俗点讲就是从数据库获取数据的,按照DQL的语法给数据库发送一条指令,数据库将按需求返回数据. 一.基本语法 select 查询的 ...