ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:85.18KB ,
资源ID:6695899      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6695899.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(jQuery入门到精通第7章jQuery动画让页面动起来.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

jQuery入门到精通第7章jQuery动画让页面动起来.docx

1、jQuery入门到精通第7章jQuery动画让页面动起来一.摘要本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍.开发人员一直痛疼做动画. 但是有了jQuery你会瞬间成为别人(那些不知道jQuery的人)眼里的动画高手! 本文将介绍jQuery的动画相关函数.原来做动画如此简单!二.前言本系列文章的实例都是针对某一个技术细节的, 因为我们要学习的是基础知识, 虽然总有人希望要复杂一些的应用示例, 但是我想还是让我们先把基础打牢, 有了扎实的基础凭借每个人的智慧一定能创造出更多更好的应用.就在写这篇文章的前

2、几天, 还有不止一个同事在为了弹出层效果而犯愁. 但是以后再面对这样的功能看过本篇文章的每一个人都可以开心的微笑了. jQuery, make work easy !三.从实例开始做web程序经常要使用弹出层, 比如单击文字或按钮显示一段提示文字等. 假设有如下需求: 单击图中的显示提示文字按钮, 在按钮的下方显示一个弹出层. 单击任何空白区域或者弹出层,弹出层消失. 用原始javascript我们也完全可以完成这个工作. 有以下几点注意事项:1. 弹出层的位置需要动态计算. 因为触发弹出事件的对象可能出现在页面的任何位置, 比如截图中的位置.2. 为document绑定单击是关闭弹出层的函数

3、, 要使用多播委托, 否则可能冲掉其他人在document绑定的函数.3. 为document绑定了关闭函数后, 需要在显示函数中取消事件冒泡, 否则弹出层将显示后立刻关闭.用jQuery, 我们可以轻松地实现此实例: jQuery - Start Animation $(document).ready(function() /动画速度 var speed = 500; /绑定事件处理 $(#btnShow).click(function(event) /取消事件冒泡 event.stopPropagation(); /设置弹出层位置 var offset = $(event.target).

4、offset(); $(#divPop).css( top: offset.top + $(event.target).height() + px, left: offset.left ); /动画显示 $(#divPop).show(speed); ); /单击空白区域隐藏弹出层 $(document).click(function(event) $(#divPop).hide(speed) ); /单击弹出层则自身隐藏 $(#divPop).click(function(event) $(#divPop).hide(speed) ); ); 显示提示文字 弹出层 除了实现了基本的显示和隐藏

5、功能, 现在显示和隐藏弹出层是渐变动画效果! jQuery的动画函数如此简单, 第一次我在项目中使用时带给了我意外的惊喜. 曾经我一直为跨浏览器计算位置头痛, 但是通过jQuery的offset()函数和height()函数, 可以精确的计算弹出层的位置. 这些函数是封装好且跨浏览器的. 需要注意要在设置弹出层位置属性的时候,加上px, 否则在FireFox下容易出现问题. jQuery的动画函数主要分为三类: 基本动画函数: 既有透明度渐变, 又有滑动效果. 是最常用的动画效果函数. 滑动动画函数: 仅使用滑动渐变效果. 淡入淡出动画函数: 仅使用透明度渐变效果. 这三类动画函数效果各不相同

6、, 用法基本一致. 大家可以自己尝试. 另外也许上面的三类函数效果都不是我们想要的, 那么jQuery也提供了自定义动画函数, 将控制权放在我们手里让我们自己定义动画效果.下面对三类内置动画函数和自定义动画函数分别讲解. 四. 基本动画函数 上例中使用的show()和hide()是我们使用最多的基本动画函数. 下面是jQuery的基本动画函数:基本动画函数 Basics名称说明举例show( )显示隐藏的匹配元素。这个就是 show( speed, callback ) 无动画的版本。如果选择的元素是可见的,这个方法将不会改变任何东西。无论这个元素是通过hide()方法隐藏的还是在CSS里设置

7、了display:none;,这个方法都将有效。显示所有段落: $(p).show()show( speed, callback)以优雅的动画显示所有匹配的元素,并在显示完成后可选地触发一个回调函数。可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。在jQuery 1.3中,padding和margin也会有动画,效果更流畅。用缓慢的动画将隐藏的段落显示出来,历时600毫秒: $(p).show(600);hide( )隐藏显示的元素这个就是 hide( speed, callback ) 的无动画版。如果选择的元素是隐藏的,这个方法将不会改变任何东西。隐藏所有段落: $(p).

8、hide()hide( speed, callback )以优雅的动画隐藏所有匹配的元素,并在显示完成后可选地触发一个回调函数。可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。在jQuery 1.3中,padding和margin也会有动画,效果更流畅。用600毫秒的时间将段落缓慢的隐藏: $(p).hide(slow);toggle( )切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。切换所有段落的可见状态: $(p).toggle()toggle( switch )根据switch参数切换元素的可见状态(ture为可见,false为隐藏)

9、。如果switch设为true,则调用show()方法来显示匹配的元素,如果switch设为false则调用hide()来隐藏元素。切换所有段落的可见状态: var flip = 0; $(button).click(function () $(p).toggle( flip+ % 2 = 0 ); );toggle( speed, callback )以优雅的动画切换所有匹配的元素,并在显示完成后可选地触发一个回调函数。可以根据指定的速度动态地改变每个匹配元素的高度、宽度和不透明度。在jQuery 1.3中,padding和margin也会有动画,效果更流畅。用200毫秒将段落迅速切换显示状

10、态,之后弹出一个对话框: $(p).toggle(fast,function() alert(Animation Done.); );1. 使用基本动画函数基本的动画函数主要分为show, hide和toggle三个. 都提供了无参数的版本, 表示不适用动画切换元素的显示状态:$(#divPop).show();$(#divPop).hide();$(#divPop).toggle();都提供了两个参数的重载, 因为回调函数可以省略, 所以可以像开篇实例中使用的, 传入一个数值作为唯一参数, 则会在参数规定的时间内用动画效果显示/隐藏元素:$(#divPop).show(200);$(#div

11、Pop).hide(fast);$(#divPop).toggle(slow); 如果传递了200, 表示图层会在200毫秒内通过渐变的形式显示出来. speed参数可以使用三种预定速度之一的字符串(slow, normal, or fast)或表示动画时长的毫秒数值(如:1000).三个函数都可以传入回调函数callback,签名如下:function callback() this; / dom element在回调函数中的this是执行此函数的DOM对象. 会在动画结束时执行.2. 使用toggle函数toggle函数是功能更强大的函数, 可以切换元素的可见状态. 我们经常遇到需要使用t

12、oggle的情况. 比如希望一段文字第一次单击显示弹出层, 第二次单击隐藏弹出层.我们将开篇实例稍作修改即可实现这个效果: jQuery Animation - Toggle $(document).ready(function() /动画速度 var speed = 500; /绑定事件处理 $(#btnShow).click(function(event) /取消事件冒泡 event.stopPropagation(); /设置弹出层位置 var offset = $(event.target).offset(); $(#divPop).css( top: offset.top + $(e

13、vent.target).height() + px, left: offset.left ); /切换弹出层的显示状态 $(#divPop).toggle(speed); ); ); 提示文字 弹出层 toggle()函数可以传递一个boolean值的参数, 比如: toogle(true)等同于show(), toogle(fasle)等同于hide().五. 滑动动画函数基本动画函数的效果是一个综合了滑动和透明度渐变的函数, jQuery还单独提供了只有滑动效果的相关函数. 滑动动画函数 Sliding名称说明举例slideDown(speed, callback)通过高度变化(向下增大

14、)来动态地显示所有匹配的元素,在显示完成后可选地触发一个回调函数。这个动画效果只调整元素的高度,可以使匹配的元素以“滑动”的方式显示出来。在jQuery 1.3中,上下的padding和margin也会有动画,效果更流畅。用600毫秒缓慢的将段落滑下: $(p).slideDown(slow);slideUp(speed, callback)通过高度变化(向上减小)来动态地隐藏所有匹配的元素,在隐藏完成后可选地触发一个回调函数。用600毫秒缓慢的将段落滑上: $(p).slideUp(slow);slideToggle(speed, callback)通过高度变化来切换所有匹配元素的可见性,并

15、在切换完成后可选地触发一个回调函数。用600毫秒缓慢的将段落滑上或滑下: $(p).slideToggle(slow);讲解slideDown就是show的滑动效果版本, slideUp就是hide的滑动效果版本, slideToggle就是toggle的滑动效果版本.参数完全相同:$(#divPop).slideDown(200);$(#divPop).slideUp(fast);$(#divPop).slideToggle(slow);六.淡入淡出动画函数淡出淡出函数只提供透明度渐变的效果. 淡入淡出函数 Fading名称说明举例fadeIn( speed, callback )通过不透明

16、度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。用600毫秒缓慢的将段落淡入: $(p).fadeIn(slow);fadeOut( speed, callback )通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。用600毫秒缓慢的将段落淡出: $(p).fadeOut(slow);fadeTo(speed, opacity, callback)把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数。用600毫秒

17、缓慢的将段落的透明度调整到0.66,大约2/3的可见度: $(p).fadeTo(slow, 0.66);$(p).fadeTo(slow, 0.66);讲解fadeIn和fadeOut两个函数对应show和hide, 用于将对象以透明度渐变的效果显示和隐藏:$(#divPop).fadeIn(200);$(#divPop).fadeOut(fast);透明度渐变没有切换函数. 需要特别讲解的是fadeTo函数. 这个函数能让对象渐变到指定的透明度上. opacity参数取值从0-1, 比如0.6表示透明度为60%.和fadeIn与fadeOut不同的是, fadeTo函数只改变对象的透明度,

18、 即使透明度为0对象仍然占位. 而fadeIn和fadeOut最后一定会改变对象的display属性, fadeOut后对象将从页面上消失(不占位), 但是fadeTo仅仅是让其透明(占位).fadeTo函数可以配合fadeIn使用. 比如默认的情况下, fadeIn最后让对象完全显示:但是如果之前使用过fadeTo设置弹出层的透明度, 则可以让其以半透明:核心代码如下: /设置弹出层的透明度 $(#divPop).fadeTo(0, 0.66); /让弹出层透明显示 if ($(#divPop).css(display) = none) $(#divPop).fadeIn(speed); e

19、lse $(#divPop).fadeOut(speed); 用fadeTo设置了弹出层透明度后, 在使用fadeIn会让对象显示并且渐变到fadeTo设置的透明度.这里介绍的仅仅是两个函数的特性, 实际应用中并不一定要两者配合使用.六. 动画实验室动画实验室是jQuery实战一书中的示例, 方便我们查看上面三种动画的效果. 对应源代码的 chapter7lab.effects.html 文件.源代码在本文最后提供下载.实验室截图如下:七.自定义动画函数上面三个渐变动画函数已经基本满足了我们日常需求. 但是如果我们一定要创建自己的特殊的效果, jQuery也为我们提供了相关函数.自定义动画函数

20、 Custom名称说明举例animate( params, duration, easing, callback )用于创建自定义动画的函数。这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left. 而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。 在 j

21、Query 1.2 中,你可以使用 em 和 % 单位。另外,在 jQuery 1.2 中,你可以通过在属性值前面指定 += 或 -= 来让元素做相对运动。 jQuery 1.3中,如果duration设为0则直接完成动画。而在以前版本中则会执行默认动画。点击按钮后div元素的几个不同属性一同变化: / 在一个动画中同时应用三种类型的效果 $(#go).click(function() $(#block).animate( width: 90%, height: 100%, fontSize: 10em, borderWidth: 10 , 1000 ); );animate( params,

22、 options )用于创建自定义动画的函数。这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left. 而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。 在 jQuery 1.2 中,你可以使用 em 和 % 单位。另外,在 jQuery 1.2 中,你可

23、以通过在属性值前面指定 += 或 -= 来让元素做相对运动。第一个按钮按了之后展示了不在队列中的动画。在div扩展到90%的同时也在增加字体,一旦字体改变完毕后,边框的动画才开始: $(#go1).click(function() $(#block1).animate( width: 90%, queue: false, duration: 5000 ) .animate( fontSize: 10em , 1000 ) .animate( borderWidth: 5 , 1000); ); $(#go2).click(function() $(#block2).animate( width

24、: 90%, 1000 ) .animate( fontSize: 10em , 1000 ) .animate( borderWidth: 5 , 1000); );stop( clearQueue, gotoEnd )停止所有在指定元素上正在运行的动画。如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行clearQueue(Boolean):如果设置成true,则清空队列。可以立即结束动画。gotoEnd (Boolean):让当前正在执行的动画立即完成,并且重设show和hide的原始样式,调用回调函数等。点击Go之后开始动画,点Stop之后会在当前

25、位置停下来: / 开始动画$(#go).click(function() $(.block).animate(left: +200px, 5000););/ 当点击按钮后停止动画$(#stop).click(function() $(.block).stop(););参数说明1.params(可选)类型:Options说明:一组包含作为动画属性和终值的样式属性和及其值的集合. 讲解:通过把元素的样式属性值, 从当前值逐渐调整到params设置的值而产生动画效果. 2.duration(可选)类型:String,Number说明:三种预定速度之一的字符串(slow, normal, or fast)或表示动画时长的毫秒数值(如:1000)讲解:动画效果持续的时间, 时间越长则变得越慢. 如果省略则不会产生动画.3.easing(可选)类型:String说明:要使用的擦除效果的名称(需要插件支持).默认jQuery提供linear 和 swing.讲解:为了让元素逐渐达到params设置的最终效果, 我们需要有一个函数来实现渐变, 这类函数就叫做easing函数. 但是需要这里传递的只是easing函数名称, 使用前需要先将easing函数注册到jQuery上.4.options参数类型:Options说明:一组包含动画选项的值的集合。讲解:所支持的属性如下:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1