【发布时间】:2018-04-26 20:51:48
【问题描述】:
我有一段我已经复制和编辑的 javascript,它是为动画加载环设计的,但动画只运行一次,我希望它每 4 秒运行一次,直到页面被加载,但我可以'找不到正确的语法/脚本让它重复,我不希望它重新加载页面,只循环那个特定的脚本,直到我将它设置为停止。
".radial" 是包含在我的 css 和 html 文件中的径向线的类。 它们有十二个,它们不旋转,只有荧光 .glow 动画部分使它在旋转时出现。代码是;
const radials = [...document.querySelectorAll('.radial')];
let degrees = 29;
for(i=0; i < radials.length; i++) {
degrees += 13;
radials[i].style.transform = `rotate(${degrees}deg)`;
degrees += 34;
}
radials.forEach((radial, index) => {
setTimeout(function() {
radial.classList.add('glow');
},index * 29);
});
:: 更新 ::
已阅读下面的 cmets 并在 Youtube 上进行搜索。我认为将整个脚本包装在一个函数中是最好的选择。在其自身中包括对该函数的调用并在超时或延迟属性的括号中传递一个参数。但是 setInterval() 和 setTimeOut() 都使用了不安全的 eval() 函数。这应该是一个安全问题。
也是我前段时间看的一个youtube视频,说setInterval() & setTimeOut() 没有达到60fps。 requestAnimationFrame() 将是一个更好的选择。我不确定这些说法是否合法,或者他的来源来自哪里,但我会继续搜索网络。
发光部分看起来不错,但我无法让它重复。 我是Js新手,请耐心等待。
setTimeOut() 和 setInterval() 还有其他解决方法吗?
【问题讨论】:
-
我已经尝试在 youtube 上搜索,也尝试过设置间隔,但似乎没有做太多,之后我还尝试设置一个函数,它调用 const 径向部分备份但没有运气
标签: javascript animation loading loader