setTimeout, не работающий с jQuery

У меня есть jQuery расширенная функция, которая работает отлично, но когда я передаю ее через setTimout, она немедленно не ожидает установленный период и выполнения.

jQuery(document).ready(function($) {    
  setTimeout($.mainmenuslider({
    trigger:'close'
  }),6000);  
});

Какие-либо идеи???

5
задан Pointy 26 September 2010 в 21:15
поделиться

3 ответа

Вам нужно передать анонимный метод, чтобы делать то, что вы хотите, например:

jQuery(function($) {    
    setTimeout(function() {
      $.mainmenuslider({
        trigger:'close'
      });
    }, 6000);    
});

В противном случае вы пытаетесь передать результат функции (заставляя ее выполняться немедленно и ничего не запускать позже ).

15
ответ дан 18 December 2019 в 06:21
поделиться

Вы вызываете функцию прямо здесь, когда пытаетесь установить тайм-аут, который произойдет позже. Instead:

jQuery(function($) {
  setTimeout(function() {
    $.mainmenuslider({trigger:'close'});
  }, 6000);
});
8
ответ дан 18 December 2019 в 06:21
поделиться

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

jQuery(document).ready(function($) {    
  setTimeout("$.mainmenuslider({
    trigger:'close'
  })",6000);  
});

при использовании setTimeout() всегда старайтесь указывать действие, которое необходимо вызвать, в кавычках.

Ex:

setTimeout("call_this_function()", 4000);
2
ответ дан 18 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: