簡體   English   中英

使用javascript在后台運行任務

[英]Running a task in the background using javascript

我有一個小部件,每當用戶提交表單時,該小部件都會顯示一個“正在等待”的圖像,並通過以下代碼實現:

<div id="shading"></div>
<div id="spinner-wrapper">
    <div id="spinner-target"></div>
</div>


$("form").submit(function() {
    $("#spinner-wrapper").css({"visibility": "visible", "display": "block" });
    $("#shading").css({"z-index": "97"});
    var target = document.getElementById('spinner-target');
    var spinner = new Spinner(opts).spin(target);       
});         

這具有使屏幕變灰,顯示微調器的期望效果,然后在完成表單提交后,將用戶定向到目標頁面。

但是,有時提交表單時不會進行重定向-具體來說,如果用戶選擇要下載文件,我將返回文件本身,並終止阻止重定向發生的過程。 發生這種情況時,微調框將保留在前台,阻止用戶與站點進行交互-而不是所需的行為。

我怎么能這樣說,在X秒鍾后(考慮到應用程序的目標使用情況,這就足夠了),停止/隱藏微調框-也就是說,允許提交表單,然后顯示微調框,然后隱藏它(雖然此功能以不同的順序執行-顯示微調框,然后提交表單)?

使用window.setTimeout():

$("form").submit(function() {
    $("#spinner-wrapper").css({"visibility": "visible", "display": "block" });
    $("#shading").css({"z-index": "97"});
    var target = document.getElementById('spinner-target');
    var spinner = new Spinner(opts).spin(target);       

    window.setTimeout(function() {
      //Hide the spinner here
    }, 5000); //Wait five seconds before running the callback function
});         

暫無
暫無

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

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