1.jQuery中的事件
1.1加载DOM
$(document).ready()方法与window.onload方法之间比较:
执行时机
window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的,这时JavaScript才能访问网页中的任何元素。而$(document).ready()方法在DOM完全就绪时就可以被调用。此时网页中的所有元素对jQuery而言都是可以访问的,但是,这并不意味着这些元素的关联文件都已下载完毕。$(window).load(function(){})等价于window.onload.
多次使用
window.onload不能实现多次使用,只有最后一次使用有效。而$(document).ready()可以多次使用。
简写方式
window.onload没有简写方式,$(document).ready()可以简写为$().ready()或$().
1.2事件绑定
bind(type [, data], fn)
第一个参数是事件类型,类型包括:blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mouseover,mousemove,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup和error等,还可以自定义名称。
第二个参数为可选参数,作为event.data属性值传递给事件对象的额外数据对象。
第三个参数为用来绑定的处理函数。
1.3事件对象的属性
event.type
获取事件类型
event.preventDefault()
阻止默认的事件行为。
event.stopPropagation()
阻止事件的冒泡
event.target
获取触发事件的元素
event.relatedTarget
获取事件的相关元素
event.pageX,event.pageY
获取光标相对于页面的x坐标与y坐标
event.which
获取鼠标事件中的左,中,右键,分别返回1,2,3。
event.metaKey
键盘事件中获取<ctrl>键
1.4移除事件
unbind([type], [data])
第一个参数是事件类型,第二个参数是要移除的函数。
如果没有参数,则删除所有绑定的事件。
如果提供了事件类型,则删除该类型的绑定事件。
如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。
另外,对于只需要触发一次的事件,可以使用jQuery提供的one()方法。
one(type, [data], fn),语法与bind方法类似。
1.5模拟操作
常用模拟
$element.trigger("click")等价于$element.click()
触发自定义事件
$element.trigger("myClick")
传递数据
trigger(type [, data])
该方法有两个参数,第一个参数是要触发的事件类型,第二个参数是要传递给事件处理函数的附加数据,以数组形式传递。
执行默认操作
一般在触发事件时,浏览器同时会有一些默认操作,比如说获得焦点。如果只想触发绑定的事件,而不想执行浏览器的默认操作,可以使用triggerHandler()方法。
1.6其他用法
绑定多个事件类型
可以用bind方法绑定多个事件,事件之间用空格隔开。
添加事件命名空间,便于管理
在所绑定的事件类型后面添加命名空间,这样在删除事件时,只需要指定命名空间即可。
删除多个事件类型可以用链式操作。
相同事件名称,不同命名空间执行方法
可以为元素绑定相同的事件类型,然后根据不同的命名空间按需调用。例如,
$element.bind("click", f1(){});
$element.bind("click.plugin", f2(){});
$element.trigger("click!"); //触发所有的不包含在命名空间中的click事件
$element.trigger("click"); //触发所有的click事件
2.jQuery中的动画
2.1show()方法和hide()方法
show()方法和hide()方法
用于控制元素的显示与隐藏。
show()方法和hide()方法让元素动起来
给方法传入参数,来控制元素显示与隐藏过程的快慢或持续时间。可以传入"slow","normal","fast"或者持续时间(以毫秒为单位)。
2.2fadeIn()方法和fadeOut()方法
用于改变元素的不透明度。fadeOut会降低元素的不透明度,直至元素完全消失。fadeIn方法则刚好相反。
2.3slideUp()方法和slideDown()方法
用于改变元素的高度。slideDown方法可以使元素由上至下延伸显示,slideUp则刚好相反。
2.4自定义动画方法animate()
animate(params, speed, callback)
params一个包含样式属性及值的映射,比如{p1: "v1", p2: "v2"}
speed速度参数,可选
callback在动画完成时执行的函数,可选
自定义简单动画
$element.animate({left: "500px"}, 1000)
累加累减动画
$element.animate({left: "+=500px"}, 1000)
多重动画
同时执行多个动画 $element.animate({left: "500px", top: "100px"}, 1000)
按顺序执行多个动画 $element.animate({left: "500px"}, 1000).animate({top: "100px"}, 1000)
综合动画
$element.animate({left: "500px", top: "100px"}, 1000)
.animate({opacity: "0.5"}, 1000)
.fadeOut(slow);
2.5动画回调函数
当需要在动画结束时执行某项操作时,即可使用动画回调函数。
2.6停止动画和判断是否处于动画状态
停止元素的动画
stop([clearQueue], [gotoEnd])
两个参数都是可选参数,为Boolean值。clearQueue决定是否清空未执行完的动画队列,gotoEnd决定是否将当前正在执行的动画直接跳至最终状态。
判断元素是否处于动画状态
$element.is(":animated")
延迟动画
delay()方法,用于动画的延时。
2.7其他动画方法
toggle(speed, [callback])切换元素的可见状态
slideToggle(speed, [easing], [callback])通过高度变化切换元素的可见性
fadeTo(speed, opacity, [callback])将元素的不透明度以渐进的方式调整到指定值
fadeToggle(speed, [easing], [callback])通过不透明度变化来切换元素的可见性
相关推荐
《jQuery快速学三:事件与动画详解》 在Web开发中,jQuery库以其简洁的语法和强大的功能,深受开发者喜爱。本篇将深入探讨jQuery中的事件处理和动画效果,帮助初学者快速掌握这两个核心概念。 一、事件处理 1. ...
jQuery选择器 jQuery操作DOM jQuery事件处理 jQuery动画基础
本书循序渐进地对jQuery的各种函数和方法调用进行了介绍,读者可以系统地掌握jQuery的DOM操作、事件监听和动画、表单操作、AJAX以及插件方面等知识点,并结合每个章节后面的案例演示进行练习,达到掌握核心知识点的...
jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画
《锋利的jQuery实例》是人民邮电出版社出版的一本深入浅出的jQuery教程,它以其丰富的实践案例,详尽地介绍了jQuery库的使用方法和技巧。jQuery是一个广泛应用于Web开发的JavaScript库,其核心特性在于它的轻量级...
总之,《锋利的jQuery》的源码是一个宝贵的资源,它不仅加深了对jQuery的理解,还能帮助开发者在实践中提升技能,实现高效、优雅的JavaScript编程。通过阅读和分析这些代码,开发者可以学习到jQuery的最佳实践,并...
《jQuery实例+锋利的jQuery+API》是一套全面的学习资源,旨在帮助开发者深入理解和熟练运用jQuery库。jQuery是一款广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及Ajax交互等任务,使得...
事件处理是jQuery的核心功能之一。使用`on()`方法,我们可以绑定各种类型的事件,如`click`、`mouseover`等。例如,`$("#myButton").on("click", function() { ... })`会在按钮被点击时执行指定的函数。同时,jQuery...
jQuery动画下拉菜单Smart Menu以其简洁的代码、丰富的动画效果和良好的响应性,成为网页设计中的热门选择。掌握其设计思路和实现方式,可以帮助开发者打造更加引人入胜的交互体验。在实践中不断优化和完善,才能让...
jQuery是JavaScript的一个强大的库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互,使得网页动态化变得更加简单。本书(第二版)详细介绍了jQuery的核心概念和技术,旨在帮助读者快速掌握并熟练运用这一...
二、jQuery动画 jQuery提供了多种内置的动画方法,如fadeIn(), fadeOut(), slideUp(), slideDown()等,可以方便地创建平滑的过渡效果。此外,还可以使用animate()方法自定义动画效果,包括改变宽度、高度、透明度等...
在“jQuery动画效果”这个主题中,我们将深入探讨jQuery如何帮助开发者创建吸引人的、动态的用户界面。 1. **基本动画** jQuery 提供了一系列的基本动画方法,如 `fadeIn()`, `fadeOut()`, `slideToggle()` 和 `...
在网页设计中,用户体验是至关重要的,而加载动画与进度栏就是提升用户体验的重要元素。"30个jQuery & CSS3加载动画和进度栏插件"集合了多种创新且高效的工具,旨在帮助开发者创建吸引人的、反馈及时的网页交互。...
在网页设计中,jQuery是一种广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作等任务。在本教程中,我们将探讨“jQuery旋转动画按钮”的实现,这可以为网页添加交互性和视觉吸引力。 ...
jQuery由John Resig于2006年创建,自那时起,它就成为了Web开发中最为广泛使用的库之一,为开发者提供了丰富的API和插件,使得网页动态化变得更加容易。 **jQuery的核心特性** 1. **选择器**:jQuery通过CSS选择器...
《锋利的jQuery实例代码》这个压缩包文件包含了一系列与jQuery相关的实例源码和图片素材,是学习和提升jQuery技能的宝贵资源。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax...
此外,书中还深入探讨了jQuery与Ajax的结合,展示了如何通过异步通信提升用户体验。 关于jQuery事件处理,书中有详尽的解释,包括绑定、解绑、委托事件等,这些都是构建交互式网页的关键技术。同时,书中也介绍了...
五、动画与效果 jQuery的动画功能强大,`fadeIn()`, `fadeOut()`, `slideToggle()`, `animate()`等方法使创建平滑的过渡效果变得简单。`queue()`和`.dequeue()`方法则允许开发者控制动画队列,实现更复杂的动画序列...
3. jQuery与其他技术的结合使用:文档中提到了jQuery与其他技术的结合应用,如与CSS3的结合使用可以创建更加生动的用户界面。 4. 提高开发效率和用户体验:文档强调了使用jQuery能够有效提升开发效率,并且改善了...