0

有这样一个需求:
<div id="demo"></div>

页面进入时这个元素是出现的,然后5s后元素消失,间隔8s后,元素出现,5s后元素再次消失,重复这个过程。
我的想法是这样的:

setInterval(function(){
    $('#demo').css('display','block')
    setTimeout(function(){
        $('#demo').css('display','none');
    },5000);
}, 8000);

但是时间貌似有问题,,是因为什么导致的呢?

4个回答

3

已采纳

8s |------------|setInterval
5s |------|setTimeout
你写出来的效果应该是5s元素消失,3s后元素出现。其实你只需要把setInterval的间隔时间改为13000即可。

2
function delay() {
    setTimeout(function () {
        $('#demo').css('display','none');
        setTimeout(function () {
            $('#demo').css('display','block');
            delay();
        }, 8000);
    }, 5000)
}
delay();
1

把8000改为13000

0
const a = function (){
    setTimeout(function(){
        console.log('a');
        b()
    },1000);
}
const b = function (){
    setTimeout(function(){
        console.log('b');
        a()
    },2000);
}

a()

撰写答案