jquery回调函数是否有不同的语法?

jquery回调函数是否有不同的语法?,jquery,function,syntax,callback,Jquery,Function,Syntax,Callback,我习惯于使用这种语法: <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").hide(1000,function(){ alert("The paragraph is now hidden"); }); }); }); </s

我习惯于使用这种语法:

<script type="text/javascript">
   $(document).ready(function(){
      $("button").click(function(){
           $("p").hide(1000,function(){
               alert("The paragraph is now hidden");
           });
      });
   });
</script>
但就在最近我遇到了一个同样有效的

<script type="text/javascript">
    $(document).ready(function(){
        $("a").hover(function(){
            $(this).stop().animate({ color: '#a6d13b'}, "normal");
        }, function() {
            $(this).stop().animate({ color: '#000000'}, "normal"); //original color
        });
    });
</script>

我刚刚接触jquery,非常感谢您的帮助。为什么第二种语法有效?即使它超出了动画功能

这两个脚本所做的事情完全不同,但在这里我想让您感到困惑的是,在第二个脚本中.hover函数使用两个回调作为参数,一个用于mouseenter,一个用于mouseleave,如下所示:

$("a").hover(callbackFunctionOne, callbackFunction2);
// OR
$("a").hover(function() { ... }, function() { ... });
在您的示例中,.animate调用发生在传递给.hover的这两个函数中,但在本例中,.animate调用本身没有回调

编辑:现在dknaack已经编辑了代码以正确缩进,更明显的是.animate调用在这两个函数中。当它没有缩进时,很难看到什么属于什么


请注意.animate和许多其他jQuery函数都可以进行回调,但这是可选的。

两个脚本做的事情确实不同,请指定您的问题第一个使用回调函数调用警报,第二个使用两个不同的事件,mouseenter和MouseleAve我很抱歉造成混淆,我尝试使用第一个脚本中的语法向第二个脚本插入回调函数。这是一个我习惯使用,因为它证明,动画现在是不运作良好。我的问题是,我习惯于遵循的第一个脚本的语法是否错误?如果是这样的话,你能给我提供正确的语法吗?@MichaelPeterson:绑定到hover时,在mouseover和mouseout后面绑定了两个事件。不是mouseenter和mouseleave。绑定到hover后绑定事件的控制台输出,请参见此处:以下是我提供的代码,$document.readyfunction{$a.hoverfunction{$this.stop.animate{color:'a6d13b'},normal,function{$this.stop.animate{color:'000000'},normal;};我认为这个答案很清楚,有了一些JS知识,但是OP似乎有点迷茫,所以他可能会更加困惑,这也不错。哦,我明白了,谢谢你花时间!我想让我困惑的是,我也不知道.hover函数的语法。正如$a.hover函数{…},函数{…}所解释的那样;如果问得不多,您是否可以建议一些来源,让我从中了解有关jquery事件和函数语法的更多信息?如果允许回调作为任何选项之后的最后一个参数,大多数jquery函数的标准语法是回调。我强烈建议您在这里花一个小时或更长的时间阅读jQuery函数和选择器的摘要:-它有一个一句或两句话的摘要,说明每个函数和选择器的作用,您可以点击查看您更感兴趣的函数和选择器的详细说明。每个方法的详细页面都非常好,有参数说明和示例代码。为了重申我在回答中提到的一些东西,如果您确保代码的意图是好的,那么阅读起来就会容易得多,并且您不太可能对回调属于什么方法感到困惑。如果你需要阅读别人写的乱七八糟的代码,你可以使用一个在线JS格式化程序对其进行格式化,比如。