-
5-2 来自评论: now和fx是两个参数,可以随便写成其他什么名字,也就是函数有两个参数,第一个参数是正在变化的属性的当前值(即代码中的height值),第二个参数是当前做动画的对象的引用(即$aaron)。 对于step这个关键参数的用法,可看下面的相关注释,我从网上找到的: on(n,fx){ // 动画元素的每个动画属性每一次动画效果的执行都将调用的函数。第1个参数是当前动画正在改变的属性的实时值(每1次动画过程中,属性值的实时反馈呈现);第2个参数为修改Tween 对象提供了一个机会来改变animate第1个参数中设置的属性在动画结束时的值。 // fx: jQuery.fx 原型对象的一个引用,其中包含了多项属性,比如 // 执行动画的元素:elem; // 动画正在改变的属性:prop; // 正在改变属性的当前值:now; // 正在改变属性的结束值:end; // 正在改变属性的单位:unit;等 关于 progress : function内有3个参数(正在执行动画的对象, 进度数值, 完成动画所需时间 (单位:毫秒) ) 第一个参数可以通过 $aaron.text('ID:'+ arguments[0].elem.id) 观察,会返回aaron(即执行动画那个div的id) 第二个参数可以通过 $aaron.text('进度:'+parseInt(arguments[1]*100)+'%') 观察动画的执行进度 第三个参数可以通过 $aaron.text('还剩:'+arguments[2]+'毫秒') 观察完成动画的所剩时间 http://www.imooc.com/article/13963查看全部
-
5-1 animate xxx 来自评论: CSS键值对和时间之间一定要有逗号 按照W3School标准: 当使用 animate() 时,必须使用 Camel 标记法书写所有的属性名,比如,必须使用 fontSize 而不是 font-size,使用 marginRight 而不是 margin-right,等等。查看全部
-
4-1 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() 会使用淡出效果显示它们。 注释:隐藏的元素不会被完全显示(不再影响页面的布局) 来自评论: toggle 是对角线式的运动,slideToggle是纵向运动,fadeToggle是原地0/1 +透明度变化 toggle改变display和所有能改变的属性值,slidetoggle先改变height,当height为0则display为none,fadetoggle先改变opacity,当opacity为0,再改变diasplay为none,查看全部
-
3-4 jQuery中淡入效果fadeTo 淡入淡出fadeIn与fadeOut都是修改元素样式的opacity属性,但是他们都有个共同的特点,变化的区间要么是0,要么是1 fadeIn:淡入效果,内容显示,opacity是0到1 fadeOut:淡出效果,内容隐藏,opacity是1到0 如果要让元素保持动画效果,执行opacity = 0.5的效果时,要如何处理? 如果不考虑CSS3,我们用JS实现的话,基本就是通过定时器,在设定的时间内一点点的修改opacity的值,最终为0.5,原理虽说简单,但是总不如一键设置这么舒服,jQuery提供了fadeTo方法,可以让改变透明度一步到位 语法 .fadeTo( duration, opacity ,callback) 必需的 duration参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。fadeTo() 方法中必需的 opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。可选的 callback 参数是该函数完成后所执行的函数名称。 使用比较简单,具体使用可以参考右边代码:查看全部
-
3-3 jQuery中淡入淡出切换fadeToggle fadeToggle()函数用于切换所有匹配的元素,并带有淡入/淡出的过渡动画效果。之前也学过toggle、slideToggle 也是类似的处理方式 fadeToggle切换fadeOut与fadeIn效果,所谓"切换",即如果元素当前是可见的,则将其隐藏(淡出);如果元素当前是隐藏的,则使其显示(淡入)。 常用语法:.fadeToggle( [duration ] ,[ complete ] ) 可选的 duration 参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。 可选的 callback 参数是 fadeToggle完成后所执行的函数名称。 fadeToggle() 方法可以在 fadeIn() 与 fadeOut() 方法之间进行切换。如果元素已淡出,则 fadeToggle() 会向元素添加淡入效果。如果元素已淡入,则 fadeToggle() 会向元素添加淡出效果。 具体使用,请参考右边代码区域:查看全部
-
3-2 jQuery中淡入动画fadeIn fadeOut是淡出效果,相反的还有淡入效果fadeIn,方法使用上两者都是一致的,只是结果相反 .fadeIn( [duration ], [ complete ] ) duration:指定过渡动画运行多长时间(毫秒数),默认值为400。该参数也可以为字符串"fast"(=200)或"slow"(=600)。 元素显示完毕后需要执行的函数。函数内的this指向当前DOM元素。 fadeIn()函数用于显示所有匹配的元素,并带有淡入的过渡动画效果。 注意: 淡入的动画原理:操作元素的不透明度从0%逐渐增加到100% 如果元素本身是可见的,不对其作任何改变。如果元素是隐藏的,则使其可见查看全部
-
3-1 jQuery中淡出动画fadeOut 让元素在页面不可见,常用的办法就是通过设置样式的display:none。除此之外还可以一些类似的办法可以达到这个目的。这里要提一个透明度的方法,设置元素透明度为0,可以让元素不可见,透明度的参数是0~1之间的值,通过改变这个值可以让元素有一个透明度的效果。常见的淡入淡出动画正是这样的原理。 fadeOut()函数用于隐藏所有匹配的元素,并带有淡出的过渡动画效果 所谓"淡出"隐藏的,元素是隐藏状态不对作任何改变,元素是可见的,则将其隐藏。 .fadeOut( [duration ], [ complete ] ) 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。这个动画只调整元素的不透明度,也就是说所有匹配的元素的高度和宽度不会发生变化。 字符串 'fast' 和 'slow' 分别代表200和600毫秒的延时。如果提供任何其他字符串,或者这个duration参数被省略,那么默认使用400毫秒的延时 来自评论: .val()方法,当没设置value属性时,获取的是<option>中的文本,如“ <option>慕课网</option>”获取到的是“慕课网”; 设置了value属性的话,获取到就是value的值,如“<option value=‘imooc’>慕课网</option>”获取到的是“imooc”而不是“慕课网”了。 因为有2个P,所以弹了2次。 代码中存在两个<p>元素,元素的动画都是相互独立的,也就是说,每一个<p>元素都独立的执行了一遍脚本,所以会都会弹出一次提示框,这样就会弹出两次。 jQuery只包含了两个缓动方法:swing和linear。linear方法提供了一个稳定的动画,以使得动画的每个步骤都是相同的(例如,如果要让一个元素以逐渐变化的方式穿过屏幕,每一步的距离和前一步都是相同的)。swing要更加动态一些,随着动画的开始变得更加快一些,然后再慢下来。swing是一个常用设置,因此,如果没有指定任何缓动,jQuery会使用swing方法。查看全部
-
2-3 jQuery中上卷下拉切换slideToggle slideDown与slideUp是一对相反的方法。需要对元素进行上下拉卷效果的切换,jQuery提供了一个便捷方法slideToggle用滑动动画显示或隐藏一个匹配元素 基本的操作:slideToggle(); 这是最基本的操作,获取元素的高度,使这个元素的高度发生改变,从而让元素里的内容往下或往上滑。 提供参数:.slideToggle( [duration ] ,[ complete ] ) 同样的提供了时间、还有动画结束的回调。在参数对应的时间内,元素会完成动画,然后出发回调函数 同时也提供了时间的快速定义,字符串 'fast' 和 'slow' 分别代表200和600毫秒的延时 slideToggle("fast") slideToggle("slow") 注意: display属性值保存在jQuery的数据缓存中,所以display可以方便以后可以恢复到其初始值 当一个隐藏动画后,高度值达到0的时候,display 样式属性被设置为none,以确保该元素不再影响页面布局。 来自评论: $("#a1").stop().slideToggle(3000) 避免动画重复执行 因为那个div元素都设置了margin和padding值,hide()和slide()的时候,margin和padding也是在不断的变化的,因为最终的效果是让这个元素完全不占用视觉上的空间,所以margin和padding也要逐渐变成0,你把这两个css样式去掉就可以发现位置不会发生变化了查看全部
-
2-2 jQuery中上卷动画slideUp 对于显示的元素,在将其隐藏的过程中,可以对其进行一些变化的动画效果。之前学过了hide方法,hide方法在显示的过程中也可以有动画,但 是.hide()方法将为匹配元素的宽度,高度,以及不透明度,同时进行动画操作。这里将要学习一个新的显示方法slideUp方法 最简单的使用:不带参数 $("elem").slideUp(); 这个使用的含义就是:找到元素的高度,然后采用一个下滑动画让元素一直滑到隐藏,当高度为0的时候,也就是不可见的时,修改元素display 样式属性被设置为none。这样就能确保这个元素不会影响页面布局了 带参数: .slideUp( [duration ] [, easing ] [, complete ] ) 同样可以提供一个时间,然后可以使用一种过渡使用哪种缓动函数,jQuery默认就2种,可以通过下载插件支持。最后一个动画结束的回调方法。 因为动画是异步的,所以要在动画之后执行某些操作就必须要写到回调函数里面,这里要特别注意查看全部
-
2-1 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元素,如果多个元素一起做动画效果,那么要非常注意,回调函数会在每一个元素执行完动画后都执行一次,而不是这组 动画整体才执行一次 来自评论: slideDown是直接从上往下滑动出来,show是从左至右和上下同时 slideDown和show的区别就是 slideDown只匹配高度查看全部
-
1-4 xxx 来自评论: toggle()适用于通过 jQuery 隐藏的元素 或 在 CSS 中声明 display:none 的元素(但不适用于 visibility:hidden 的元素) 有个bug,如果你不停地点击按钮事件会累积的。 $(".left").stop().toggle(3000)就好了 toggle方法 切换 Hide() 和 Show() 检查每个元素是否可见。 如果元素已隐藏,则运行 show()。如果元素可见,则元素 hide()。这样就可以创造切换效果。 语法 $(selector).toggle(speed,callback) speed: 可选。规定 hide/show 效果的速度。默认是 "0"。 可能的值:毫秒(比如 1500)、"slow"、"normal"、"fast" callback: 可选。当 toggle() 方法完成时执行的函数。查看全部
-
1-3 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成为一个动画,那么默认执行动画会改变元素的高度,高度,透明度 连续点击按钮会不停地执行; $("#a1").stop().hide(3000).show(3000) //stop() 用于避免动画执行过程中反复触发 //语法结构 $("#div").stop();//停止当前动画,继续下一个动画 $("#div").stop(true);//清除元素的所有动画 $("#div").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画 $("#div").stop(true, true);//清除元素的所有动画,让当前动画直接到达末状态查看全部
-
1-2 jQuery中隐藏元素的hide方法 让页面上的元素不可见,一般可以通过设置css的display为none属性。但是通过css直接修改是静态的布局,如果在代码执行的时候,一般是通过js控制元素的style属性,这里jQuery提供了一个快捷的方法.hide()来达到这个效果 $elem.hide() 提供参数: .hide( options ) 当提供hide方法一个参数时,.hide()就会成为一个动画方法。.hide()方法将会匹配元素的宽度,高度,以及不透明度,同时进行动画操作 快捷参数: .hide("fast / slow") 这是一个动画设置的快捷方式,'fast' 和 'slow' 分别代表200和600毫秒的延时,就是元素会执行200/600毫秒的动画后再隐藏 注意: jQuery在做hide操作的时候,是会保存本身的元素的原始属性值,再之后通过对应的方法还原的时候还是初始值。比如一个元素的display属性值为inline,那么隐藏再显示时,这个元素将再次显示inline。一旦透明度 达到0,display样式属性将被设置为none,这个元素将不再在页面中影响布局 来自评论: $(selector).hide(speed,callback); 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。 可选的 callback 参数是隐藏或显示完成后所执行的函数名称。查看全部
-
$("#a1").stop().hide(3000).show(3000) //stop() 用于避免动画执行过程中反复触发 //语法结构 $("#div").stop();//停止当前动画,继续下一个动画 $("#div").stop(true);//清除元素的所有动画 $("#div").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画 $("#div").stop(true, true);//清除元素的所有动画,让当前动画直接到达末状态查看全部
-
通过jQuery获得所有的a元素合集$("a"),如果想进一步在集合中找到第二个dom元素单独处理,可以通过get()方法 语法: .get([index]) get方法还可以从后往前索引,传递一个负索引值,注意的负值得索引起始值是-1查看全部
举报
0/150
提交
取消