【发布时间】:2014-10-09 13:11:46
【问题描述】:
我正在尝试使用 SVG 和 javascript 创建微调器。问题是它不能准确地工作。它具有启动和停止功能。单击开始时,它会在动画之前延迟,当我停止时,它会很好地停止,但如果我再次单击开始则无法启动。
目前,它不适用于 IE9 和 IE11。如果有我不知道的黑客攻击。
您将如何使用 RapahelJS 为它制作动画?
http://plnkr.co/edit/FC2qiZumzgjKSJOs6Zm5?p=preview
var spinner = function() {
var interval;
var transition = function() {
var path = document.querySelector('#spinner-wrapper .spinner #main-path');
path.style.transition = path.style.WebkitTransition = 'none';
path.style.strokeDasharray = '205.951, 205.951';
path.style.strokeDashoffset = 430;
path.getBoundingClientRect();
path.style.strokeDashoffset = '0';
path.style.transition = path.style.WebkitTransition = 'stroke-dashoffset 3s linear';
};
var startInterval = function(time) {
return interval = setInterval(function() {
transition();
}, time);
};
return {
start : function() {
startInterval(2700);
},
stop : function() {
startInterval(0);
clearInterval(start());
}
};
};
【问题讨论】:
-
我可能会建议一种更简单的方法...使用 CSS 旋转静态图像。 (当然,如果您需要更改图像本身的各个方面,这将不起作用。)
标签: javascript html css animation svg