如何在原生javascript中运行动画(如更改CSS属性)而不使用jQuery库的animate方法?我已经尝试了jQuery库动画和帧率间隔的变化,使我的动画流畅。提前感谢
发布于 2012-11-25 17:52:44
下面是一个示例:
http://jsfiddle.net/4M3ts/1/
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);发布于 2012-11-25 17:36:44
使用transition,CSS3可以自动为大多数样式属性的更改设置动画。它可能会运行得比任何基于javascript的动画都要流畅。
here,有一个关于如何使用它的很好的教程。
发布于 2012-11-25 17:40:11
下面是一个简短的演示:
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/
https://stackoverflow.com/questions/13549789
复制相似问题