JavaScript设置超时和设置间隔

JavaScript设置超时和设置间隔,javascript,html,Javascript,Html,我有三个div,应该一次无限出现一个div。在可见性更改之间我需要2秒钟的时间间隔。这是我想到的。但它不起作用。请帮我把它弄好 var taglines = document.getElementsByClassName("tagline"); taglines[0].style.color = 'red'; setInterval(function () { taglines[1].style.visibility = 'hidden'; taglines[2].style.visibilit

我有三个div,应该一次无限出现一个div。在可见性更改之间我需要2秒钟的时间间隔。这是我想到的。但它不起作用。请帮我把它弄好

var taglines = document.getElementsByClassName("tagline");
taglines[0].style.color = 'red';
setInterval(function () {
taglines[1].style.visibility = 'hidden';
taglines[2].style.visibility = 'hidden';
    setTimeout(function () {
        taglines[1].style.visibility = 'visible';
        taglines[0].style.visibility = 'hidden';
        taglines[2].style.visibility = 'hidden';
    }, 2000);
    setTimeout(function () {
        taglines[2].style.visibility = 'visible';
        taglines[0].style.visibility = 'hidden';
        taglines[1].style.visibility = 'hidden';
    }, 4000);
}, 5000);

我会推荐CSS,但如果你真的想使用javaScript,你可以这样做

var taglines = document.getElementsByClassName("tagline");
curTag = 0;

setInterval(function(){
    taglines[curTag].style.visibility = 'hidden';
    curTag++;
    if (curTag==3) { curTag=0;}
    taglines[curTag].style.visibility = 'visible';
},2000);

“但它不起作用”它怎么不起作用?到底是什么问题?你解释得越多,我们就越容易帮助你。你知道……我认为这可以通过CSS动画来完成……不需要javascript。它的效率要高得多,但兼容性稍差—可见性更改发生的时间间隔不正确。我想要一个流畅的过渡,比如第一节-2秒-2节-2秒-3节,这应该是不确定的。你确定你不想用CSS来做这件事吗?是的,我知道CSS的延迟和过渡。