国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - 四個(gè)倒數(shù)計(jì)時(shí),到0時(shí)觸發(fā)函數(shù),如果同時(shí)處罰怎麼讓觸發(fā)事件只執(zhí)行一次?
大家講道理
大家講道理 2017-06-12 09:23:23
0
3
853

倒數(shù)計(jì)時(shí)為0時(shí)處罰函數(shù),有一種情況是當(dāng)四個(gè)倒數(shù)都為0時(shí)會同時(shí)觸發(fā)ajax()方法,這種情況我只想觸發(fā)一次,該怎麼做?
我試過宣告一個(gè)count去計(jì)數(shù),超過1就不執(zhí)行ajax()方法,但是這樣有可能後面的倒數(shù)都不執(zhí)行的,因?yàn)椴粷M足count不超過1的邏輯,該怎麼做呢?

html
<span class="clock">4:00</span>//倒計(jì)時(shí)是循環(huán)的,到0后恢復(fù)為4分鐘,其他一樣
<span class="clock">3:00</span>
<span class="clock">2:00</span>
<span class="clock">1:00</span>

js
$('.clock').each(function(elem,index){
  $(this).on('finish',function(){//倒計(jì)時(shí)為0時(shí)觸發(fā)ajax()方法
    ajax();
  });
});
大家講道理
大家講道理

光陰似箭催人老,日月如移越少年。

全部回覆(3)
大家講道理

JS 單執(zhí)行緒所以不會同時(shí)觸發(fā),你可以維護(hù)一個(gè)變數(shù)記錄上次執(zhí)行函數(shù)的時(shí)間,隔太近則不執(zhí)行第二遍。

伊謝爾倫

定義一個(gè)變數(shù)作為請求狀態(tài),預(yù)設(shè)為false,表示目前無請求,請求開始前判斷是否為true,是則說明上次請求未仍在繼續(xù),否則設(shè)為true,並開始執(zhí)行請求,Ajax的complete 方法設(shè)定無論成功與否都還原該狀態(tài)為false,以便下次請求可用。也就是說,用一個(gè)全域或局部變數(shù)控制狀態(tài)。

漂亮男人

嘗試這樣:

let loading = false
$('.clock').each(function () {
    $(this).on('finish', function () {
        if (loading) return
        loading = true
        ajax({
            finish: function () {
                loading = false
            }
        })
    })
})
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板