JavaScript怎么实现定时执行一个延时方法?

发布于 2022-09-07 11:45:40 字数 334 浏览 20 评论 0

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

风流物 2022-09-14 11:45:40

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

月亮是我掰弯的 2022-09-14 11:45:40
function delay() {
    setTimeout(function () {
        $('#demo').css('display','none');
        setTimeout(function () {
            $('#demo').css('display','block');
            delay();
        }, 8000);
    }, 5000)
}
delay();
热鲨 2022-09-14 11:45:40

把8000改为13000

┼── 2022-09-14 11:45:40

css3 animation实现不是更好吗

空城仅有旧梦在 2022-09-14 11:45:40
const a = function (){
    setTimeout(function(){
        console.log('a');
        b()
    },1000);
}
const b = function (){
    setTimeout(function(){
        console.log('b');
        a()
    },2000);
}

a()
无远思近则忧 2022-09-14 11:45:40

看一下...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文