深入理解JQuery中的事件与动画


Posted in Javascript onMay 18, 2016

首先,使用JQuery事件与动画的效果比使用原生js来的方便得多,当然,最重要的是考虑到了浏览器的兼容性。

事件:

基于原生js,常用事件有blur,focus,hover,mouseout,mouseover,mouseleave,ready,change,select,submit等等,不再赘述。

事件绑定:

在文档加载完成后,使用bind(type,[data],func())方法绑定事件.

合成事件:

hover(enter-func,leave-func)相当于bind("mouseover")和bind("mouseleave").

toggle()模拟鼠标连点情况下的显示与隐藏事件toggle(show-func,hide-func).

事件冒泡:

在学习js高程(三)时,曾提及到大部分浏览器的事件处理机制是事件冒泡,也就是事件是逐级向上发生的。如果给你个内嵌元素绑定了事件,给他的父元素也绑定了一个相同type的事件,那么当事件处理内嵌元素时,父元素的事件也会随之触发,JQuery用一个方法可以阻止事件冒泡,使用event(事件对象).stopPropagation().

既让可以阻止事件冒泡,那么也可以阻止事件的默认行为,比如锚点元素a,当我们为a绑定一个click事件时,他不仅会实现我们绑定的事件函数,也会跳转到指定的href,那么要阻止这一跳转行为,需要用到event.preventDefault()来实现。这个方法也经常用在表单验证的过程中,当验证的字段不通过是,使用event.preventDefault()来阻止表单的submit。

当然,对于阻止事件冒泡和阻止默认行为,我们也可以使用return false,当我们要知道,return  false同时阻止了冒泡与默认行为,所以要慎用。

事件对象:

写在回调函数中的参数event即为事件对象。

type属性,获取事件的类型。

preventDefault()方法,阻止默认行为

stopPropagation()方法,阻止事件冒泡

target属性,获取事件触发的元素

pageX,pageY属性,获取光标相对于页面的坐标

mataKey属性,获取crtl按键

事件移除:

unbind(type,func-name)

第一个参数是移出事件的类型,第二个为移除事件的变量名,如果没有参数,删除该元素的所有事件,如果提供了type,则删除该元素所有类型为type的事件,若制订了第二个参数,则删除指定事件。

事件模拟:

trigger(),利用该函数实现进入页面时就触发指定事件(这个事件的类型是可以自定义的),trigger()有连个参数,第一个为type,第二个为[data],这个是可选的,用于传递数据。我认为trigger()实际是上调用事件的过程。

动画:

Jquery中的动画用起来十分的方便。jquer所有的动画效果都可以添加时间参数。

show()与hide():

显示与隐藏元素,hide()相当于display:none,而show()则把他还原(之前的display属性是什么,还原后还是什么)。可以通过设置参数来实现动画效果,show(),hide()接收关键字和时间值(ms),关键字有slow(0.6s),fast(.2s),nomal(.4s),他会同时改变元素的高度,宽度和不透明度。

fadeIn()与fadeOut():

改变元素的不透明度,fadeIn()提高不透明度,fadeOut()降低不透明度,直到display:none.

slideDown与SlideUp()

改变元素的高度,slideDown()元素自上到下延伸,slideUp()元素自下向上收缩。

animate()

当上面的方法实现的动画无法满足我们时,可以使用animate()来自定义动画。

animate(params,speed,callback)

params:包含样式的映射,如{left:"100px",heiget:"100px"}

speed:动画实现需要的事件(ms)

callback:动画完成时执行的函数。

像上面所写的params的栗子,实现的时left与height的同时改变,若不想同时改变,使用链式写法分开写。需要注意一点,css()不算动画,要想在动画执行完成后改变样式,需要把css()写入callback中.

判断元素是否处于动画状态is(":animated").

延迟操作:animate().delay(time).

其他动画:

toggle()显示与隐藏

slideToggle()改变高度的显示与隐藏。

fadeTo(time,op)通过指定时间将元素的不透明度变为op

fadeToggle()改变不透明度的显示与隐藏。

以上这篇深入理解JQuery中的事件与动画就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery Mobile入门—外部链接切换示例代码
Jan 08 Javascript
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
Apr 23 Javascript
使用js 设置url参数
Jul 08 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
Sep 04 Javascript
小白谈谈对JS原型链的理解
May 03 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
Aug 24 Javascript
js异步上传多张图片插件的使用方法
Oct 22 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
Nov 26 Javascript
layui多iframe页面控制定时器运行的方法
Sep 05 Javascript
javascript自定义右键菜单插件
Dec 16 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 #Javascript
jQuery添加options点击事件并传值实例代码
May 18 #Javascript
详解JavaScript实现设计模式中的适配器模式的方法
May 18 #Javascript
深入剖析javascript中的exec与match方法
May 18 #Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
May 18 #Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
May 18 #Javascript
JQuery.validate在ie8下不支持的快速解决方法
May 18 #Javascript
You might like
微信公众平台开发之天气预报功能
2015/08/31 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
ashx文件获取$.ajax()方法发送的数据
2016/05/26 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
python在windows下实现备份程序实例
2014/07/04 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
基于DataFrame筛选数据与loc的用法详解
2018/05/18 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
python爬取代理ip的示例
2020/12/18 Python
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
搞笑爱情保证书
2014/04/29 职场文书
体育教师求职信
2014/05/24 职场文书
学校宣传标语
2014/06/18 职场文书
感谢师恩主题班会
2015/08/17 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
python脚本框架webpy模板控制结构
2021/11/20 Python