Javascript 使淡入淡出效果无限运行(纯JS,非jQuery)

Javascript 使淡入淡出效果无限运行(纯JS,非jQuery),javascript,loops,fade,infinite,Javascript,Loops,Fade,Infinite,我在搜索一个脚本,让div淡入淡出,发现了这个问题 用户bgoldst给了我一个很好的解决方案。但我需要淡入淡出在循环中运行,而不是像bgoldst的代码所说的那样只运行一次。我是JS的新手,不知道如何让它工作,有什么建议吗 编辑:我已经找到了一个中间解决方案,其中包括Luke和Kai的建议 就是 <script type="text/javascript"> var div = document.getElementById("foo"); setInterval

我在搜索一个脚本,让div淡入淡出,发现了这个问题

用户bgoldst给了我一个很好的解决方案。但我需要淡入淡出在循环中运行,而不是像bgoldst的代码所说的那样只运行一次。我是JS的新手,不知道如何让它工作,有什么建议吗

编辑:我已经找到了一个中间解决方案,其中包括Luke和Kai的建议

就是

<script type="text/javascript">
    var div = document.getElementById("foo");

    setInterval(function() {
        div.style.transition="opacity 1.5s";
        div.style.opacity=0;
    }, 1500);

    setInterval(function() {
        div.style.transition="opacity 1.5s";
        div.style.opacity=1;
    }, 3005);
</script>

var div=document.getElementById(“foo”);
setInterval(函数(){
div.style.transition=“不透明度1.5s”;
div.style.opacity=0;
}, 1500);
setInterval(函数(){
div.style.transition=“不透明度1.5s”;
div.style.opacity=1;
}, 3005);

但是,淡入/淡出效果没有对称行为。

您可以使用CSS,无需使用Javascript。只需使用CSS动画属性(如果需要,请设置关键帧等),然后设置此属性:

动画迭代次数:无限

根据你的评论,这是我做的一支钢笔,它可以做你想做的事情——你只需将动画从改变背景颜色改为使其褪色即可。我希望这有助于:


你好,卢克,谢谢你的回答。最初我尝试使用关键帧,但在使用IE时遇到了问题,因此,我决定尝试使用JS。您可以使用javascript
setInterval
方法。这将在给定的时间间隔内永远运行某些内容。根据动画的长度,您需要以毫秒为单位的间隔值来匹配您的需要。@b1919676看到我刚才链接的笔了吗?我想它会让您走上正确的轨道:)