【问题】jQuery中的animate和CSS中的动画及其回调函数的问题
2012-02-16 17:09
381 查看
animate是jQuery中做动画很常用的函数,执行 CSS 属性集的自定义动画。
原理:该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。
只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。
注释:使用 "+=" 或 "-=" 来创建相对动画(relative animations)。
具体内容及实例见:
http://www.w3school.com.cn/jquery/effect_animate.asp
对于该页给出的left实例做了修改如下
注释行能替换掉上面的三行并且效果一样(时间除外),但是为什么同样的
中间三行和下面的注释都不能达到第一行注释的效果,莫名其妙,貌似 $(this).css('opacity', '1');在动画开始时就执行了,这是怎么回事???
原理:该方法通过CSS样式将元素从一个状态改变为另一个状态。CSS属性值是逐渐改变的,这样就可以创建动画效果。
只有数字值可创建动画(比如 "margin:30px")。字符串值无法创建动画(比如 "background-color:red")。
注释:使用 "+=" 或 "-=" 来创建相对动画(relative animations)。
具体内容及实例见:
http://www.w3school.com.cn/jquery/effect_animate.asp
对于该页给出的left实例做了修改如下
<html> <head> <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".btn1").click(function(){
$("p").css('opacity','0'); $("p").animate({left:"+=100px"},600,function(){ $("p").css('opacity','1');
//注释:$("p").css('left','+=100px');
}); }); $(".btn2").click(function(){ $("p").animate({left:"0"}); $("p").css('opacity','0'); }); }); </script> </head> <body> <button class="btn1">Animate</button> <button class="btn2">Reset</button> <div style="position:relative"> <p style="background-color:yellow;width:100px;position:absolute;display:block">This is a paragraph.</p> </div> </body> </html>
注释行能替换掉上面的三行并且效果一样(时间除外),但是为什么同样的
//注释:el.css('left','+=960px') el.css('opacity', '0'); el.animate({left:'+=960px'},600,function(){ $(this).css('opacity', '1'); }); //注释el.css('-webkit-transform', 'translate(480px,0px)').css('visibility', 'visible');
中间三行和下面的注释都不能达到第一行注释的效果,莫名其妙,貌似 $(this).css('opacity', '1');在动画开始时就执行了,这是怎么回事???
相关文章推荐
- jquery中的动画效果方法animate()及其回调函数的使用
- jQuery自定义动画函数animate() easing: "easeInOutCirc"导致的animate()动画抖动问题解决方法
- fullPage.js — 回调函数演示和animate.css使用-------全屏滚动加载动画
- 基于Animate.css的jQuery动画特效插件
- 关于设置jQuery的animate动画没有显示效果的问题
- jquery重新播放css动画所遇问题解决
- 关于火狐中使用jquery的animate做动画效果的问题解决
- jquery结合animate.css 动画效果的实现
- 前端动画大全:css的transition、css3的animation、Jquery的animate、js的setInterval
- 基于animate.css的jQuery文字动画插件
- Html和css动画及其效果
- 中文前端UI框架Kit(五)支持Css全属性/Css Hack/Css3属性/颜色渐变的Javascript动画,相比JQuery和Mooltools,功能更为强大,这不是标题党!
- 纯CSS提示框的实现及其牵涉到的IE6下的a:hover问题。
- 66种基于animate.css的CSS消息提示动画效果
- jQuery 动画效果,关键词 animate
- 4.2.4: jQuery动画之自定义动画方法animate()
- 【分享】2.5KB-打造jquery的animate。(自定义动画)
- Animate.css 一款强大的预设动画库
- jquery 使用animate来改变高度自动添加样式overflow:hidden的问题