我想要实现类似于这个http://24ways.org/2013/animating-vectors-with-svg/的东西,但是我希望每个字母在前面的结束之后开始绘制。我不知道如何延迟实现这一点。
这是我的代码:
var init = function() {
path = new Array();
length = new Array();
for(var i=1; i<3; i++){
path[i] = document.getElementById('path'+i);
length = path[i].getTotalLength();
path[i].style.transition = path[i].style.WebkitTransition = 'none';
length[i] = length;
path[i].style.strokeDasharray = length + ' ' + length;
path[i].style.strokeDashoffset = length;
path[i].getBoundingClientRect();
path[i].style.transition = path[i].style.WebkitTransition = 'stroke-dashoffset 2s ease-in-out';
path[i].style.strokeDashoffset = '0';
}
};
init();在这个例子中,我有两个字母'sp‘,我想要’先画‘,然后在结束时开始'p’字母。在我的例子中,这两个字母同时绘制。如果有人能帮我,我会很感激的。
发布于 2015-05-08 07:29:50
延迟后才开始动画片怎么样?
我用叉子把你的小提琴弄成那样。
for(var i=1; i<3; i++) {
init(i);
(function(i) {
window.setTimeout(function() { start(i, duration); }, (i-1)*duration);
})(i);
}基本上,他们的行为是:
如果已经知道路径绘制的持续时间,这应该很容易做到。
https://stackoverflow.com/questions/30117930
复制相似问题