在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ setInterval 與setTimeout的相關(guān)用法

setInterval 與setTimeout的相關(guān)用法

問題描述

進(jìn)入一個(gè)H5頁(yè)面底部懸浮入口(類似于一個(gè)半通明的彈框固定在視窗底部)持續(xù)顯示半分鐘后,自動(dòng)隱藏,隱藏半分鐘后再持續(xù)顯示半分鐘,如此循環(huán)。利用setInterval與setTimeout怎么解決

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

以下是自己嘗試的代碼

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

//第一種寫法
//先等待60秒后執(zhí)行函數(shù)
setInterval(closeFun,60000);
//setTimeout先等待30秒后執(zhí)行隱藏,然后又調(diào)用setTimeout等待30秒后顯示
function closeFun(){
    setTimeout(function(){
        $("#guide").fadeOut();
        setTimeout(function(){
            $("#guide").fadeIn();
        },30000);
    },30000);
}


 //第二種寫法
//先等待60秒后執(zhí)行函數(shù)
setInterval(closeFun,60000);
function closeFun(){
    setTimeout(function(){
        $("#guide").fadeOut();            
    },30000);
    setTimeout(function(){
        $("#guide").fadeIn();
    },30000);
}

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

問題描述

第一種定時(shí)器過了不止一分半分鐘才開始第一次的隱藏,后續(xù)的顯示隱藏時(shí)間相繼變長(zhǎng)了
第二種后續(xù)顯示隱藏的時(shí)間變得比預(yù)計(jì)時(shí)間很快
考慮過同步異步,使用5秒鐘測(cè)驗(yàn)時(shí)沒問題,使用30秒?yún)s不是預(yù)計(jì)的那樣

問題出現(xiàn)的平臺(tái)版本及自己嘗試過哪些方法

回答
編輯回答
忘了我

setInterval(()=>{

$("#guide").toggle();

},30000)

2017年3月18日 20:39
編輯回答
朽鹿

不需要setTimeout。

flag = 'in';
setInterval(closeFun,30000);
//setTimeout先等待30秒后執(zhí)行隱藏
function closeFun(){
    if(flag == 'in'){
        $("#guide").fadeOut();
        flag = 'out';
    }else{
        $("#guide").fadeIn();
        flag = 'in';
    }
}
2018年4月6日 13:58