Как отложить .trigger ('click') с наложением из инструментов jquery - PullRequest
9 голосов
/ 11 декабря 2010

Я использую инструменты Jquery, эффект наложения и хочу закрыть его, если ответ JSON в порядке, но я хочу сделать это с задержкой.

  $.ajax({
                //bla bla
                success: function(data){
                        var obj = jQuery.parseJSON(data);
                        if (obj.status=='OK')
                        {
                            $('#status').text('bla bla');
                            jQuery('.close').trigger('click');
                        }
                        else
                        {
                            $('#status').text('bla bla');                       
                        }
                    }
            }); 

так что это - jQuery ('. Close'). Trigger ('click'); должно быть выполнено через некоторое время. Есть идеи?

Ответы [ 3 ]

24 голосов
/ 11 декабря 2010

setTimeout() - встроенная функция JavaScript, разработанная для этой цели.

setTimeout(function () {
   jQuery('.close').trigger('click');
}, 1000);

Последнее число - это время задержки в миллисекундах.

6 голосов
/ 11 декабря 2010

использовать setTimeout:

задержка здесь составляет 1 секунду (1000 мс)

$.ajax({
                //bla bla
                success: function(data){
                        var obj = jQuery.parseJSON(data);
                        if (obj.status =='OK')
                    {
                        $('#status').text('bla bla');
                        setTimeout(function(){jQuery('.close').trigger('click');},1000);

                    }
                    else
                    {
                        $('#status').text('bla bla');                       
                    }
                }
        }); 
0 голосов
/ 11 декабря 2010

Не тестировалось.

jQuery('.close').delay(500).trigger('click');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...