Как я go о задержке javascript выполнения? - PullRequest
0 голосов
/ 15 января 2020

У меня есть некоторый код javascript, который отображает форму при загрузке веб-страницы. Мне нужен код для выполнения через 2 минуты после того, как посетитель был на сайте. Как я go об этом? Ниже мой код:

setTimeout(function(){document.getElementById("dialog").innerHTML="";}, 120000);

$(document).ready(function() {  

        var id = '#dialog';

        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set heigth and width to mask to fill up the whole screen
        $('#mask').css({'width':maskWidth,'height':maskHeight});

        //transition effect     
        $('#mask').fadeIn(500); 
        $('#mask').fadeTo("slow",0.9);  

        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        $(id).css('top',  winH/2-$(id).height()/2);
        $(id).css('left', winW/2-$(id).width()/2);

        //transition effect
        $(id).fadeIn(2000);     

    //if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();

        $('#mask').hide();
        $('.window').hide();
    });     

    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });     

});    

Ответы [ 2 ]

0 голосов
/ 15 января 2020

Код должен быть ВНУТРИ setTimeout(), а не ВНЕ. Попробуй это ...

0 голосов
/ 15 января 2020

Использование window.setTimeout():

Метод setTimeout() [...] устанавливает таймер, который выполняет функцию или указанный фрагмент кода по истечении таймера.

Синтаксис

var timeoutID = scope.setTimeout(function[, delay, arg1, arg2, ...]);
var timeoutID = scope.setTimeout(function[, delay]);
var timeoutID = scope.setTimeout(code[, delay]);

Итак, в вашем случае вы можете сделать это:

// When the page first loads...
$(document).ready(function() {
  // ...wait for two minutes...
  window.setTimeout(function() {
    // ...and then run this code.
  }, 120000)
})

Подробнее: https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...