簡體   English   中英

去掉 <div> 超時后由Javascript添加

[英]Remove <div> added by Javascript after timeout

我在SO上經歷了許多示例(包括例和本例 ),以嘗試解決我遇到的問題。

使用下面的腳本,我在頁面上添加了帶有“旋轉”圖像的疊加層,以向用戶指示用戶單擊按鈕后系統正在忙於處理。

ACME.global = ACME.global ? ACME.global : {
    init: function() {
        $(".ctaButton").bind("click", this.pageLoadingOverlay);
    },
    pageLoadingOverlay : function(event) {
        var body = document.getElementsByTagName("body");
        var pageOverlay = document.createElement("div");
        pageOverlay.id = "onClickPageOverlay";
        body[0].appendChild(pageOverlay);
        setTimeout(function() {
            $('#onClickPageOverlay').remove();
        }, 1000);
    }
}

如果我沒有超時功能

        setTimeout(function() {
            $('#onClickPageOverlay').remove();
        }, 30000);

click事件已正確綁定到按鈕,並且疊加層已加載。 問題在於UI可能會卡在疊加顯示上(呈現頁面的系統沒有“刷新”或“后退”按鈕,因此用戶無法重新加載頁面)。

但是,添加完整的腳本后,似乎onClick事件不再綁定到腳本。

我嘗試了setTimeoutdelay各種組合,但沒有運氣。

任何幫助,不勝感激。

超時功能構建得不好。

嘗試這個:

var t=setTimeout("$('#onClickPageOverlay').remove()",30000);

說明文件:

setTimeout("javascript function",milliseconds);

setTimeout()方法將等待指定的毫秒數,然后執行指定的函數。

setTimeout()的第一個參數應該是一個函數。

第二個參數指示從現在開始要執行多少毫秒。

正如我已經在評論中指出的那樣,該代碼可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM