jQuery延迟5秒

时间:2018-07-19 12:28:53

标签: jquery

我在jquery中想将功能延迟5秒

$(target).slideDown("slow","linear", function(){ 
                    $(target).addClass('section-active');
                    $('html, body').animate({
                        scrollTop: $(target).offset().top
                    }, 1000, 'easeInOutExpo', function() {
                        isScrolling = false;
                        startNano.go();
                    });
                });

我如何实现

4 个答案:

答案 0 :(得分:1)

内置javascript setTimeout。您也可以对jquery 1.4.0+使用.delay方法。 check it out here

setTimeout方法看起来像这样:

    $(target).slideDown("slow","linear", function(){ 
      setTimeout(function(){
      $(target).addClass('section-active');
      $('html, body').animate({
         scrollTop: $(target).offset().top
      }, 1000, 'easeInOutExpo', function() {
         isScrolling = false;
         startNano.go();
    });
  }, 5000); //5000 = 5 seconds
});

.delay方法如下:

$(target).slideDown("slow","linear", function(){ 
          $(target).addClass('section-active');
          $('html, body').delay(5000).animate({
             scrollTop: $(target).offset().top
          }, 1000, 'easeInOutExpo', function() {
             isScrolling = false;
             startNano.go();
        });

答案 1 :(得分:0)

使用setTimeout()。它会在指定的毫秒数后调用函数或对表达式求值

$(target).slideDown("slow","linear", function(){ 
  setTimeout(function(){
    $(target).addClass('section-active');
    $('html, body').animate({
        scrollTop: $(target).offset().top
    }, 1000, 'easeInOutExpo', function() {
        isScrolling = false;
        startNano.go();
    });
  }, 5000); //5 seconds
});

答案 2 :(得分:0)

使用setTimeout()函数

    setTimeout(function(){
       $(target).slideDown("slow","linear", function(){ 
       $(target).addClass('section-active');
       $('html, body').animate({
          scrollTop: $(target).offset().top
         }, 1000, 'easeInOutExpo', function() {
          isScrolling = false;
          startNano.go();
        });
      });
     },5000);

答案 3 :(得分:0)

您可以使用.delay(5000)(这是一种jQuery函数)在动画或回调事件之间链接延迟。

但是,由于(如果我已正确理解)您希望它在执行任何操作之前先等待,我们可以通过在请求它延迟然后将其结束之前放一个stop()来解决此问题。 / p>

$('html, body').stop(true, true).delay(5000).animate(...)