切换功能

时间:2010-12-09 11:14:05

标签: jquery

我的问题是两个函数被传递给toggle为什么..并且外面的另一个函数是那里也是混乱的plz告诉我

 $('#login a').toggle(function() {
    $(this)
      .addClass('active')
      .next('form')
      .animate({'height':'show'}, {
        duration:'slow',
        easing: 'easeOutBounce'
      });
  }, function() {
    $(this)
      .removeClass('active')
      .next('form')
      .slideUp();
  });
  $('#login form :submit').click(function() {
    $(this)
      .parent()
      .prev('a')
      .click();
  });

2 个答案:

答案 0 :(得分:1)

toggle()方法将两个(或更多)函数作为参数,并在每次单击元素时交替调用其中一个函数。

Javascript中的函数是first class citizens:你可以像任何其他对象一样操纵它们,包括将它们传递给其他函数:

function foo(otherfunction)
{
    otherfunction();
}

function bar()
{
    window.alert("bar() was called.");
}

foo(bar);  // Ultimately calls `bar()`.

答案 1 :(得分:0)

根据JQuery API documentation功能,将通过交替点击调用:

  • 首次点击 - 第一个功能,
  • 第二次点击 - 第二个功能,
  • 第三次点击 - 第一个功能,
  • 第四次点击 - 第二次功能......

对于提交按钮的处理程序,它模拟了锚点(a)元素的点击,该元素是包含按钮的元素的兄弟并且位于容器元素之前。像这样:

<a href="#">click will be simulated for this link</a>  
<div>  
    <input type="submit"/>  
</div>