首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >原生javascript中的动画

原生javascript中的动画
EN

Stack Overflow用户
提问于 2012-11-25 17:32:17
回答 3查看 3.9K关注 0票数 2

如何在原生javascript中运行动画(如更改CSS属性)而不使用jQuery库的animate方法?我已经尝试了jQuery库动画和帧率间隔的变化,使我的动画流畅。提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-25 17:52:44

下面是一个示例:

http://jsfiddle.net/4M3ts/1/

代码语言:javascript
复制
function animate(object, property, start_value, end_value, time) {
  var frame_rate = 0.06; // 60 FPS
  var frame = 0;
  var delta = (end_value - start_value) / time / frame_rate;
  var handle = setInterval(function() {
    frame++;
    var value = start_value + delta * frame;
    object.style[property] = value + "px";
    if (value == end_value) {
      clearInterval(handle);
    }
  }, 1 / frame_rate);
}

animate(document.getElementById("a"), "top", 0, 100, 1000);
票数 3
EN

Stack Overflow用户

发布于 2012-11-25 17:36:44

使用transition,CSS3可以自动为大多数样式属性的更改设置动画。它可能会运行得比任何基于javascript的动画都要流畅。

here,有一个关于如何使用它的很好的教程。

票数 4
EN

Stack Overflow用户

发布于 2012-11-25 17:40:11

下面是一个简短的演示:

代码语言:javascript
复制
function fade(element, started) {
    if (element.style.opacity > 0){
        console.log(element.style.opacity);
        element.style.opacity -= 0.02;
        setTimeout((function(e){return function(){fade(e);}})(element),10);
    }
}
fade(document.getElementById("myname"));

这是一个jsfiddle:http://jsfiddle.net/s6Kzh/1/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13549789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档