深入理解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 相关文章推荐
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
Jul 31 Javascript
javascript实现类似超链接的效果
Dec 26 Javascript
jquery获取多个checkbox的值异步提交给php
Jul 07 Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 Javascript
js实现的星星评分功能函数
Dec 09 Javascript
jquery点赞功能实现代码 点个赞吧!
May 29 jQuery
vue基于mint-ui的城市选择3级联动的示例
Oct 25 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
页面内锚点定位及跳转方法总结(推荐)
Apr 24 Javascript
微信小程序 高德地图路线规划实现过程详解
Aug 05 Javascript
vue.js实现点击图标放大离开时缩小的代码
Jan 27 Vue.js
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
PHP脚本的10个技巧(6)
2006/10/09 PHP
mysql5详细安装教程
2007/01/15 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
jQuery实现响应浏览器缩放大小并改变背景颜色
2014/10/31 Javascript
jQuery实现鼠标经过事件的延时处理效果
2020/08/20 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
python 解压pkl文件的方法
2018/10/25 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
python Django 创建应用过程图示详解
2019/07/29 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
如何用python处理excel表格
2020/06/09 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
住宅使用说明书
2014/05/09 职场文书
事业单位考核材料
2014/05/21 职场文书
我们的节日国庆活动方案
2014/08/19 职场文书
学习党的群众路线教育实践活动心得体会范文
2014/11/03 职场文书
幼儿园六一儿童节演讲稿
2015/03/19 职场文书
财务统计员岗位职责
2015/04/14 职场文书
公司员工宿舍管理制度
2015/08/07 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python
python开发的自动化运维工具ansible详解
2021/08/07 Python
最新最全的手机号验证正则表达式
2022/02/24 Javascript