-
jQuery中动画animate(下) animate在执行动画中,如果需要观察动画的一些执行情况,或者在动画进行中的某一时刻进行一些其他处理,我们可以通过animate提供的第二种设置语法,传递一个对象参数,可以拿到动画执行状态一些通知 .animate( properties, options ) options参数 duration - 设置动画执行的时间 easing - 规定要使用的 easing 函数,过渡使用哪种缓动函数 step:规定每个动画的每一步完成之后要执行的函数 progress:每一次动画调用的时候会执行这个回调,就是一个进度的概念 complete:动画完成回调 其中最关键的一点就是: 如果多个元素执行动画,回调将在每个匹配的元素上执行一次,不是作为整个动画执行一次 列出常用的方式: $('#elem').animate({ width: 'toggle', height: 'toggle' }, { duration: 5000, specialEasing: { width: 'linear', height: 'easeOutBounce' }, complete: function() { $(this).after('<div>Animation complete.</div>'); } });查看全部
-
参数分解: properties:一个或多个css属性的键值对所构成的Object对象。要特别注意所有用于动画的属性必须是数字的,除非另有说明;这些属性如果不是数字的将不能使用基本的jQuery功能。比如常见的,border、margin、padding、width、height、font、left、top、right、bottom、wordSpacing等等这些都是能产生动画效果的。background-color很明显不可以,因为参数是red或者GBG这样的值,非常用插件,否则正常情况下是不能只用动画效果的。注意,CSS 样式使用 DOM 名称(比如 "fontSize")来设置,而非 CSS 名称(比如 "font-size")。 特别注意单位,属性值的单位像素(px),除非另有说明。单位em 和 %需要指定使用 .animate({ left: 50, width: '50px' opacity: 'show', fontSize: "10em", }, 500); 除了定义数值,每个属性能使用'show', 'hide', 和 'toggle'。这些快捷方式允许定制隐藏和显示动画用来控制元素的显示或隐藏 .animate({ width: "toggle" }); 如果提供一个以+= 或 -=开始的值,那么目标值就是以这个属性的当前值加上或者减去给定的数字来计算的 .animate({ left: '+=50px' }, "slow"); duration时间 动画执行的时间,持续时间是以毫秒为单位的;值越大表示动画执行的越慢,不是越快。还可以提供'fast' 和 'slow'字符串,分别表示持续时间为200 和 600毫秒。 easing动画运动的算法 jQuery库中默认调用 swing。如果需要其他的动画算法,请查找相关的插件 complete回调 动画完成时执行的函数,这个可以保证当前动画确定完成后发会触发查看全部
-
jQuery中动画animate(上) 有些复杂的动画通过之前学到的几个动画函数是不能够实现,这时候就需要强大的animate方法了 操作一个元素执行3秒的淡入动画,对比一下2组动画设置的区别 $(elem).fadeOut(3000) $(elem).animate({ opacity:0 },3000) 显而易见,animate方法更加灵活了,可以精确的控制样式属性从而执行动画 语法: .animate( properties ,[ duration ], [ easing ], [ complete ] ) .animate( properties, options ) .animate()方法允许我们在任意的数值的CSS属性上创建动画。2种语法使用,几乎差不多了,唯一必要的属性就是一组CSS属性键值对。这组属性和用于设置.css()方法的属性键值对类似,除了属性范围做了更多限制。第二个参数开始可以单独传递多个实参也可以合并成一个对象传递了查看全部
-
jQuery中toggle与slideToggle以及fadeToggle的比较 操作元素的显示和隐藏可以有几种方法。 例如: 改变样式display为none 设置位置高度为0 设置透明度为0 都能达到这个目的,并且针对这样的处理jQuery都提供了各自的方法。show/hide、sildeDown/sildeUp、fadeIn/fadeOut。除此之外,还引入了toggle、sildeToggle以及fadeToggle切换方法 toggle、sildeToggle以及fadeToggle的区别: toggle:切换显示与隐藏效果 sildeToggle:切换上下拉卷滚效果 fadeToggle:切换淡入淡出效果 当然细节上还是有更多的不同点: toggle与slideToggle细节区别: toggle:动态效果为从右至左。横向动作,toggle通过display来判断切换所有匹配元素的可见性 slideToggle:动态效果从下至上。竖向动作,slideToggle 通过高度变化来切换所有匹配元素的可见性 fadeToggle方法 fadeToggle() 方法在 fadeIn() 和 fadeOut() 方法之间切换。 元素是淡出显示的,fadeToggle() 会使用淡入效果显示它们。 元素是淡入显示的,fadeToggle() 会使用淡出效果显示它们。 注释:隐藏的元素不会被完全显示(不再影响页面的布局)查看全部
-
如果不考虑CSS3,我们用JS实现的话,基本就是通过定时器,在设定的时间内一点点的修改opacity的值,最终为0.5,原理虽说简单,但是总不如一键设置这么舒服,jQuery提供了fadeTo方法,可以让改变透明度一步到位 语法 .fadeTo( duration, opacity ,callback) 必需的 duration参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。可选的 callback 参数是该函数完成后所执行的函数名称。 使用比较简单,具体使用可以参考右边代码:查看全部
-
jQuery中淡入淡出切换fadeToggle fadeToggle()函数用于切换所有匹配的元素,并带有淡入/淡出的过渡动画效果。之前也学过toggle、slideToggle 也是类似的处理方式 fadeToggle切换fadeOut与fadeIn效果,所谓"切换",即如果元素当前是可见的,则将其隐藏(淡出);如果元素当前是隐藏的,则使其显示(淡入)。 常用语法:.fadeToggle( [duration ] ,[ complete ] ) 可选的 duration 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。 可选的 callback 参数是 fadeToggle完成后所执行的函数名称。 fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果查看全部
-
jQuery中淡出动画fadeOut 让元素在页面不可见,常用的办法就是通过设置样式的display:none。除此之外还可以一些类似的办法可以达到这个目的。这里要提一个透明度的方法,设置元素透明度为0,可以让元素不可见,透明度的参数是0~1之间的值,通过改变这个值可以让元素有一个透明度的效果。常见的淡入淡出动画正是这样的原理。 fadeOut()函数用于隐藏所有匹配的元素,并带有淡出的过渡动画效果 所谓"淡出"隐藏的,元素是隐藏状态不对作任何改变,元素是可见的,则将其隐藏。 .fadeOut( [duration ], [ complete ] ) 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。 字符串 'fast' 和 'slow' 分别代表200和600毫秒的延时。如果提供任何其他字符串,或者这个duration参数被省略,那么默认使用400毫秒的延时查看全部
-
jQuery中上卷下拉切换slideToggle slideDown与slideUp是一对相反的方法。需要对元素进行上下拉卷效果的切换,jQuery提供了一个便捷方法slideToggle用滑动动画显示或隐藏一个匹配元素 基本的操作:slideToggle(); 这是最基本的操作,获取元素的高度,使这个元素的高度发生改变,从而让元素里的内容往下或往上滑。 提供参数:.slideToggle( [duration ] ,[ complete ] ) 同样的提供了时间、还有动画结束的回调。在参数对应的时间内,元素会完成动画,然后出发回调函数 同时也提供了时间的快速定义,字符串 'fast' 和 'slow' 分别代表200和600毫秒的延时 slideToggle("fast") slideToggle("slow") 注意: display属性值保存在jQuery的数据缓存中,所以display可以方便以后可以恢复到其初始值 当一个隐藏动画后,高度值达到0的时候,display 样式属性被设置为none,以确保该元素不再影响页面布局查看全部
-
jQuery中上卷动画slideUp 对于显示的元素,在将其隐藏的过程中,可以对其进行一些变化的动画效果。之前学过了hide方法,hide方法在显示的过程中也可以有动画,但 是.hide()方法将为匹配元素的宽度,高度,以及不透明度,同时进行动画操作。这里将要学习一个新的显示方法slideUp方法 最简单的使用:不带参数 $("elem").slideUp(); 这个使用的含义就是:找到元素的高度,然后采用一个下滑动画让元素一直滑到隐藏,当高度为0的时候,也就是不可见的时,修改元素display 样式属性被设置为none。这样就能确保这个元素不会影响页面布局了 带参数: .slideUp( [duration ] [, easing ] [, complete ] ) 同样可以提供一个时间,然后可以使用一种过渡使用哪种缓动函数,jQuery默认就2种,可以通过下载插件支持。最后一个动画结束的回调方法。 因为动画是异步的,所以要在动画之后执行某些操作就必须要写到回调函数里面,这里要特别注意查看全部
-
jQuery中下拉动画slideDown 对于隐藏的元素,在将其显示出来的过程中,可以对其进行一些变化的动画效果。之前学过了show方法,show方法在显示的过程中也可以有动画,但是.show()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作。这里将要学习一个新的显示方法slideDown方法 .slideDown():用滑动动画显示一个匹配元素 .slideDown()方法将给匹配元素的高度的动画,这会导致页面的下面部分滑下去,弥补了显示的方式 常见的操作,提供一个动画是时间,然后传递一个回调,用于知道动画是什么时候结束 .slideDown( [duration ] [, complete ] ) 持续时间(duration)是以毫秒为单位的,数值越大,动画越慢,不是越快。字符串 'fast' 和 'slow' 分别代表200和600毫秒的延时。如果提供任何其他字符串,或者这个duration参数被省略,那么默认使用400 毫秒的延时。 具体使用: $("ele").slideDown(1000, function() { //等待动画执行1秒后,执行别的动作.... }); 注意事项: 下拉动画是从无到有,所以一开始元素是需要先隐藏起来的,可以设置display:none 如 果提供回调函数参数,callback会在动画完成的时候调用。将不同的动画串联在一起按顺序排列执行是非常有用的。这个回调函数不设置任何参数,但是 this会设成将要执行动画的那个DOM元素,如果多个元素一起做动画效果,那么要非常注意,回调函数会在每一个元素执行完动画后都执行一次,而不是这组 动画整体才执行一次查看全部
-
jQuery中显示与隐藏切换toggle方法 show与hide是一对互斥的方法。需要对元素进行显示隐藏的互斥切换,通常情况是需要先判断元素的display状态,然后调用其对应的处理方法。比如显示的元素,那么就要调用hide,反之亦然。 对于这样的操作行为,jQuery提供了一个便捷方法toggle用于切换显示或隐藏匹配元素 基本的操作:toggle(); 这是最基本的操作,处理元素显示或者隐藏,因为不带参数,所以没有动画。通过改变CSS的display属性,匹配的元素将被立即显示或隐藏,没有动画。 如果元素是最初显示,它会被隐藏 如果隐藏的,它会显示出来 display属性将被储存并且需要的时候可以恢复。如果一个元素的display值为inline,然后是隐藏和显示,这个元素将再次显示inline 提供参数:.toggle( [duration ] [, complete ] ) 同样的提供了时间、还有动画结束的回调。在参数对应的时间内,元素会发生显示/隐藏的改变,在改变的过程中会把元素的高、宽、不透明度进行一系列动画效果。这个元素其实就是show与hide的方法 直接定位:.toggle(display) 直接提供一个参数,指定要改变的元素的最终效果 其实就是确定是使用show还是hide方法 if ( display === true ) { $( "elem" ).show(); } else if ( display === false ) { $( "elem" ).hide(); } toggle方法就是show与hide的相互切换的一个快捷方法,具体使用可以参考右边的案例:查看全部
-
jQuery中显示元素的show方法 css中有display:none属性,同时也有display:block,所以jQuery同样提供了与hide相反的show方法 方法的使用几乎与hide是一致的,hide是让元素显示到隐藏,show则是相反,让元素从隐藏到显示 看一段代码:使用上一致,结果相反 $('elem').hide(3000).show(3000) 让元素执行3秒的隐藏动画,然后执行3秒的显示动画。 show与hide方法是非常常用的,但是一般很少会基于这2个属性执行动画,大多情况下还是直接操作元素的显示与隐藏为主 注意事项: show与hide方法是修改的display属性,通过是visibility属性布局需要通过css方法单独设置 如果使用!important在你的样式中,比如display: none !important,如果你希望.show()方法正常工作,必须使用.css('display', 'block !important')重写样式 如果让show与hide成为一个动画,那么默认执行动画会改变元素的高度,高度,透明度查看全部
-
jQuery中toggle与slideToggle以及fadeToggle的比较 操作元素的显示和隐藏可以有几种方法。 例如: 改变样式display为none 设置位置高度为0 设置透明度为0 都能达到这个目的,并且针对这样的处理jQuery都提供了各自的方法。show/hide、sildeDown/sildeUp、fadeIn/fadeOut。除此之外,还引入了toggle、sildeToggle以及fadeToggle切换方法 toggle、sildeToggle以及fadeToggle的区别: toggle:切换显示与隐藏效果 sildeToggle:切换上下拉卷滚效果 fadeToggle:切换淡入淡出效果 当然细节上还是有更多的不同点: toggle与slideToggle细节区别: toggle:动态效果为从右至左。横向动作,toggle通过display来判断切换所有匹配元素的可见性 slideToggle:动态效果从下至上。竖向动作,slideToggle 通过高度变化来切换所有匹配元素的可见性 fadeToggle方法 fadeToggle() 方法在 fadeIn() 和 fadeOut() 方法之间切换。 元素是淡出显示的,fadeToggle() 会使用淡入效果显示它们。 元素是淡入显示的,fadeToggle() 会使用淡出效果显示它们。 注释:隐藏的元素不会被完全显示(不再影响页面的布局)查看全部
-
回调函数中传入的两个参数,如果遍历的是数组,第一个参数是索引值,第二个参数是数组的值;如果遍历是对象,第一个参数是属性,第二个参数是属性值。 (别人总结的)查看全部
-
有个bug,如果你不停地点击按钮事件会累积的。 $(".left").stop().toggle(3000)就好了查看全部
举报
0/150
提交
取消