`
micro-feng
  • 浏览: 6592 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

锋利的jQuery之jQuery中的事件与动画

阅读更多

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快速学三(事件与动画)

    《jQuery快速学三:事件与动画详解》 在Web开发中,jQuery库以其简洁的语法和强大的功能,深受开发者喜爱。本篇将深入探讨jQuery中的事件处理和动画效果,帮助初学者快速掌握这两个核心概念。 一、事件处理 1. ...

    jQuery 选择器 操作DOM 事件处理 动画基础

    jQuery选择器 jQuery操作DOM jQuery事件处理 jQuery动画基础

    锋利的jquery

    本书循序渐进地对jQuery的各种函数和方法调用进行了介绍,读者可以系统地掌握jQuery的DOM操作、事件监听和动画、表单操作、AJAX以及插件方面等知识点,并结合每个章节后面的案例演示进行练习,达到掌握核心知识点的...

    jquery动画jquery动画

    jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画jquery动画

    锋利的jQuery实例

    《锋利的jQuery实例》是人民邮电出版社出版的一本深入浅出的jQuery教程,它以其丰富的实践案例,详尽地介绍了jQuery库的使用方法和技巧。jQuery是一个广泛应用于Web开发的JavaScript库,其核心特性在于它的轻量级...

    《锋利的jQuery》书中全部源码

    总之,《锋利的jQuery》的源码是一个宝贵的资源,它不仅加深了对jQuery的理解,还能帮助开发者在实践中提升技能,实现高效、优雅的JavaScript编程。通过阅读和分析这些代码,开发者可以学习到jQuery的最佳实践,并...

    jquery实例+锋利的jquery+api

    《jQuery实例+锋利的jQuery+API》是一套全面的学习资源,旨在帮助开发者深入理解和熟练运用jQuery库。jQuery是一款广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及Ajax交互等任务,使得...

    锋利的jquery-第一版

    事件处理是jQuery的核心功能之一。使用`on()`方法,我们可以绑定各种类型的事件,如`click`、`mouseover`等。例如,`$("#myButton").on("click", function() { ... })`会在按钮被点击时执行指定的函数。同时,jQuery...

    jQuery动画下拉菜单Smart Menu

    jQuery动画下拉菜单Smart Menu以其简洁的代码、丰富的动画效果和良好的响应性,成为网页设计中的热门选择。掌握其设计思路和实现方式,可以帮助开发者打造更加引人入胜的交互体验。在实践中不断优化和完善,才能让...

    锋利的jQuery

    jQuery是JavaScript的一个强大的库,它极大地简化了DOM操作、事件处理、动画效果以及Ajax交互,使得网页动态化变得更加简单。本书(第二版)详细介绍了jQuery的核心概念和技术,旨在帮助读者快速掌握并熟练运用这一...

    jQuery loading加载动画特效

    二、jQuery动画 jQuery提供了多种内置的动画方法,如fadeIn(), fadeOut(), slideUp(), slideDown()等,可以方便地创建平滑的过渡效果。此外,还可以使用animate()方法自定义动画效果,包括改变宽度、高度、透明度等...

    .jQuery动画效果

    在“jQuery动画效果”这个主题中,我们将深入探讨jQuery如何帮助开发者创建吸引人的、动态的用户界面。 1. **基本动画** jQuery 提供了一系列的基本动画方法,如 `fadeIn()`, `fadeOut()`, `slideToggle()` 和 `...

    30 个 jQuery & CSS3 加载动画和进度栏插件

    在网页设计中,用户体验是至关重要的,而加载动画与进度栏就是提升用户体验的重要元素。"30个jQuery & CSS3加载动画和进度栏插件"集合了多种创新且高效的工具,旨在帮助开发者创建吸引人的、反馈及时的网页交互。...

    jQuery旋转动画按钮

    在网页设计中,jQuery是一种广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作等任务。在本教程中,我们将探讨“jQuery旋转动画按钮”的实现,这可以为网页添加交互性和视觉吸引力。 ...

    jquerydemo锋利的jQuery的demo

    jQuery由John Resig于2006年创建,自那时起,它就成为了Web开发中最为广泛使用的库之一,为开发者提供了丰富的API和插件,使得网页动态化变得更加容易。 **jQuery的核心特性** 1. **选择器**:jQuery通过CSS选择器...

    锋利的jQuery实例代码

    《锋利的jQuery实例代码》这个压缩包文件包含了一系列与jQuery相关的实例源码和图片素材,是学习和提升jQuery技能的宝贵资源。jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画制作和Ajax...

    锋利的jQuery(书籍和源码)

    此外,书中还深入探讨了jQuery与Ajax的结合,展示了如何通过异步通信提升用户体验。 关于jQuery事件处理,书中有详尽的解释,包括绑定、解绑、委托事件等,这些都是构建交互式网页的关键技术。同时,书中也介绍了...

    锋利的jQuery 源码

    五、动画与效果 jQuery的动画功能强大,`fadeIn()`, `fadeOut()`, `slideToggle()`, `animate()`等方法使创建平滑的过渡效果变得简单。`queue()`和`.dequeue()`方法则允许开发者控制动画队列,实现更复杂的动画序列...

    锋利的jQuery(第2版)超高清.pdf

    3. jQuery与其他技术的结合使用:文档中提到了jQuery与其他技术的结合应用,如与CSS3的结合使用可以创建更加生动的用户界面。 4. 提高开发效率和用户体验:文档强调了使用jQuery能够有效提升开发效率,并且改善了...

Global site tag (gtag.js) - Google Analytics