2013-03-25 135 views
1

试图做一个功能,当切换打开时做“A”,切换关闭时做“B”。jquery切换功能打开/关闭

代码:

function awesome_toggle() 
{ 
    $(".button").click(function() 
    { 
     $("content").toggle(
      function() 
      { 
       /* Do "A" */ 
      }, 
      function() 
      { 
       /* Do "B" */ 
      } 
     ); 
    }); 
} 

此代码似乎没有工作,我想不通为什么。当我仅使用一个函数时,所以我在/ *之后停止代码“A”* /它可以工作,但是当我添加/ * Do“B”* /函数时,它停止工作。哪里不对?

jQuery的版本:ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js

+0

这是你的完整JS吗? – Mooseman 2013-03-25 18:45:04

+0

@Mooseman如果你暗示这应该被重新标记为JavaScript问题(添加JS标签),我认为你应该这样做。另外,OP,我不确定我是否理解这个问题,具体是你想做什么。 – 2013-03-25 18:46:30

+0

这个双功能版本的切换在jQuery 1.9.1中被删除。查看文档:http://api.jquery.com/toggle/。我相信它现在将第一个函数解释为别的东西(例如持续时间)并抛出错误。 – 2013-03-25 18:46:50

回答

5

正如评论所说,这个版本的toggle已被弃用。

有很可能是一个更好的方式来完成你想要什么,而是你可以检查元素是否与:visible选择切换后可见的,做的东西有条件基于这一点。

function awesome_toggle() 
{ 
    $(".button").click(function() { 
     $("content").toggle(normalSpeed, function() { 
      if ($("content").is(':visible')) { 
       /* Do "A" */ 
      } else { 
       /* Do "B" */ 
      } 
     }); 
    }); 
} 
+0

作品发现,非常感谢! – Notsogood13 2013-03-25 18:58:11