Jquery задерживает выполнение кода - программирование
Подтвердить что ты не робот

Jquery задерживает выполнение кода

В моей функции jquery у меня есть изображение gif загрузчика. После того, как я покажу его, я хочу поставить задержку на секунду, а затем продолжить выполнение остальной части кода. Как я могу это сделать?

    $('#loader').css('display', '');

    //// I want to put here a delay. 

    var myDate = new Date();
    myDate.setFullYear(2013,8,2);

    var checkyear = myDate.getFullYear();
    var monthly =myDate.getMonth();
    var daily =myDate.getDate();

    $('#day').html(daily) ;
    $('#month').html(months[monthly]) ;
    $('#year').html(checkyear) ;
4b9b3361

Ответ 1

Установите тайм-аут следующим образом:

var delay = 1000;
setTimeout(function() {
 // your code
}, delay);

Пример http://jsfiddle.net/HuLTs/

Ответ 2

Вы пробовали . delay?

$('#loader').show(1).delay(1000).hide(1);

Метод .delay() лучше всего подходит для задержки между jQuery в очереди последствия. Поскольку он ограничен - он, например, не предлагает способ отменить задержку..delay() не является заменой для родного JavaScript setTimeout, что может быть более подходящим для определенного использования случаев.

Демо: http://jsfiddle.net/SBrWa/

Ответ 3

$(document).ready(function(){ 
    setTimeout(function(){ 
      //your code
     },
  2000); 
});

Здесь 2000 относится к 2 seconds

Ответ 4

Вы можете использовать этот код,

$('#loader').css('display', '');

setTimeout(function() {
    var myDate = new Date();
    myDate.setFullYear(2013,8,2);

    var checkyear = myDate.getFullYear();
    var monthly =myDate.getMonth();
    var daily =myDate.getDate();

    $('#day').html(daily) ;
    $('#month').html(months[monthly]) ;
    $('#year').html(checkyear) ;
}, 1000);

Ответ 5

Попробуйте это,

$(function(){
    $('#loader').css('display', '');
    setTimeout(function(){ 
        var myDate = new Date();
        myDate.setFullYear(2013,8,2);
        var checkyear = myDate.getFullYear();
        var monthly =myDate.getMonth();
        var daily =myDate.getDate();
        $('#day').html(daily) ;
        $('#month').html(months[monthly]) ;
        $('#year').html(checkyear) ;
    },1000);// 1 second delay
});