Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 延迟后运行函数_Jquery - Fatal编程技术网

Jquery 延迟后运行函数

Jquery 延迟后运行函数,jquery,Jquery,我存储了下面的全局jQuery函数,但在页面加载时,我希望在1000次延迟后执行它。我的语法有问题吗?我知道延迟总是先于功能。它没有反应 全球职能: function showpanel() { $(".navigation").hide(); $(".page").children(".panel").fadeIn(1000); ;} parallax.about.onload=function(){ $('#about').delay(

我存储了下面的全局jQuery函数,但在页面加载时,我希望在1000次延迟后执行它。我的语法有问题吗?我知道延迟总是先于功能。它没有反应

全球职能:

function showpanel() {     
       $(".navigation").hide();
       $(".page").children(".panel").fadeIn(1000);
    ;}
parallax.about.onload=function(){
    $('#about').delay(3000).showpanel();
};
执行功能:

function showpanel() {     
       $(".navigation").hide();
       $(".page").children(".panel").fadeIn(1000);
    ;}
parallax.about.onload=function(){
    $('#about').delay(3000).showpanel();
};

有关更多信息,请参见

我在以下URL中搜索并发现解决方案是更好

值得一试

它将给定函数添加到要在匹配元素上执行的函数队列中,该元素当前为this

然后在队列上为当前为this的匹配元素执行下一个函数

--编辑[可能的出列命令解释] 看看这个命令


我们命令jQuery引擎在内部队列中添加一个函数,然后在一段特定的时间后,我们命令它调用该函数,但到目前为止,我们从未告诉它从引擎中退出队列。正确的?!然后,在完成每件事情之后,我们将手动将其从jQuery引擎中取出。我希望解释能有所帮助。

这个答案对于理解如何使用JQuery
delay
函数进行delay非常有用

假设您有一个警报,希望设置警报文本,然后显示警报,几秒钟后将其隐藏

以下是简单的解决方案:

$(".alert-element").html("I'm the alert text").fadeIn(500).delay(5000).fadeOut(1000);

非常简单:

  <div class="box"></div>
  $(document).ready(function(){ 
    $(".show-box").click(function(){
      $(this).text('loading...').delay(1000).queue(function() {
        $(this).hide();
        showBox(); 
        $(this).dequeue();
      });        
    });
  });
  • .html()
    将更改
    .alert元素的文本
  • .fadeIn(500)
    将在500毫秒后淡入
  • JQuery
    delay(5000)
    函数将在调用下一个函数之前进行5000毫秒的延迟
  • 语句末尾的
    .fadeOut(1000)
    将淡出
    .alert元素

  • 您可以在jQuery中添加超时功能(3秒后显示警报):


    您可以简单地使用jQuery的方法来设置延迟时间间隔

    HTML代码:

      <div class="box"></div>
    
      $(document).ready(function(){ 
        $(".show-box").click(function(){
          $(this).text('loading...').delay(1000).queue(function() {
            $(this).hide();
            showBox(); 
            $(this).dequeue();
          });        
        });
      });
    

    您可以在这里看到一个示例:

    这就是您正在寻找的对象(man:)希望这有帮助,第一个明显的问题是您试图将showpanel作为另一个对象的方法调用(在本例中,是delay()调用返回的jQuery对象)。但是您已经声明showpanel是一个简单的、可直接访问的函数,而不是任何对象的方法。JavaScript不是这样工作的。你能总结一下解决方案并解释它是如何工作的吗?仅仅链接到一个解决方案并不理想,因为该链接可能在将来某个时候停止工作…@devlentinate我更新了这篇文章。阅读它,看看它是否简单易懂。希望它有用。这并不能解释什么是队列,或者为什么需要退出队列。退出服务器的目的是什么;我不希望函数执行不止一次,那么为什么要让它出列呢?
    $('#main>ul').delay(100).queue(function(){$(this.attr('data-uk-grid','massy:true;parallax:150;').dequeue())$('#main>ul').delay(1).queue(函数(){$(this).removeClass('uk-grid-uk-flex-top-uk-flex-wrap-top').dequeue())@Niklas我更新了帖子。请看一看。