【问题标题】:jQuery - Call one function by hover, then call another functionjQuery - 通过悬停调用一个函数,然后调用另一个函数
【发布时间】:2016-12-24 08:05:34
【问题描述】:

所以我有一个子菜单,当主导航按钮悬停时加载内容。在加载该内容时,我想显示一个加载图形。

问题是我无法让这两个功能一起工作。

第一个功能 - 加载子菜单内容(page.php)

第二个功能 - 当 page.php 被加载时,隐藏加载图形

<script>
function functionOne() {
jQuery.get('page.php', function(data) { jQuery('.class').html(data); })
}

function functionTwo() {
  jQuery("#loading").hide();    
};

jQuery(".dropdownhover").one('mouseenter', functionOne.done( functionTwo ););
</script>

<a class="dropdownhover">Button</a>
<div id="loading"></div>

使用上面的代码,这两个函数都不起作用。如果我只调用这样的第一个函数:jQuery(".dropdownhover").one('mouseenter', functionOne );,它工作正常。但我当然需要一个接一个地打电话。我是不是把脚本的最后一行写错了?

【问题讨论】:

    标签: javascript jquery function callback jquery-callback


    【解决方案1】:

    根据您的要求,您使用的语法完全错误,Function的原型中没有done这样的功能。

    你可以通过写作来实现,

    function functionOne() {
     jQuery.get('page.php', function(data) { 
       jQuery('.class').html(data); 
       functionTwo(); 
     });
    }
    
    function functionTwo() {
      jQuery("#loading").hide();    
    };
    
    jQuery(".dropdownhover").one('mouseenter', functionOne);
    

    【讨论】:

    • @SLePort 这是 OP 的代码,并且 OP 没有抱怨任何类似事件正在触发一次。所以我猜代码是故意的。
    • 嗯,这比我想象的要容易得多。这很好用,谢谢。是的,.one 是故意的,只需要一次。
    • @user1610904 很高兴为您提供帮助! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    相关资源
    最近更新 更多