2011-05-11 110 views
1

我有一个回调函数如下jQuery的回调函数

$('#lnkClientData').click(function() { 


     $('#clientdiv').slideToggle(function(){ 
      if($('#lnkClientData').hasClass('open')) 
      { 

       $('#divnext').slideToggle(); 
       $('#lnkClientData').removeClass('open').addClass('close'); 
      } 
      else 
      { 

      $('#divnext').slideToggle(); 
      $('#lnkClientData').removeClass('close').addClass('open'); 
      } 
     } 
     ); 
    }); 

我要外$('#clientdiv').slideToggle()功能.... 前要执行的代码$('#divnext').slideToggle();现在外面函数被称为第一次.. ..what我试图做的是隐藏锚当div幻灯片......但他在...

if($('#clientDiv').is(':visible')) 
      { 
      alert(''); 
       // $('#divnext').hide(); 
       //$('#clientDiv').slideToggle(); // Or whatever animation you want 
      } 
      else 
      { 
       //$('#clientDiv').slideToggle(function() // Or whatever animation you want 
       //{ 
        // $('#divnext').show(); 
       //}); 
      } 
+1

你可以分享的jsfiddle或jsbin演示链接? – 2011-05-11 14:49:51

+0

我做了你们提到的,但我只是给第一个答案添加了评论......我希望清除的东西...... – abbas 2011-05-11 15:01:56

回答

1

div幻灯片之前发生了,你只需要重新安排你的代码(不ķ nowing你的slideToggle实现的细节,我假设你的参数

$('#divnext').slideToggle(function() 
{ 
    // Code here executes after slide is finished but before clientdiv starts 
    $('#clientdiv').slideToggle(function() 
    { 
      // Code here executes after both slides are done 
    }); 
}); 

EDIT当滑动完成回调):

在你的情况,只需使用一个的slideToggle方法来显示/隐藏客户端并不是最好的主意。

if($('#clientDiv').is(':visible')) 
{ 
    $('#yourLink').hide(); 
    $('#clientDiv').slideDown(); // Or whatever animation you want 
} 
else 
{ 
    $('#clientDiv').slideUp(function() // Or whatever animation you want 
    { 
     $('#yourLink').show(); 
    }); 
} 
+0

谢谢......它真的很接近我想要的......但现在当外div幻灯片....内部div出现在div打开之前....让我解释一下...我有一个div ...和一个锚名称“下一个”里面的div ...当有人打开div ...这个下一个锚点应该在整个div打开后出现,并且当有人关闭div时,下一个锚点应该在div关闭前消失.... – abbas 2011-05-11 14:58:53

+0

然后,您需要做的就是最初隐藏div。当clientDiv完成切换时,根据其可见性调用'$('#yourLink')。show()'或'hide()'。 – Tejs 2011-05-11 15:00:27

+0

我很困惑..你可以解释一个BUIT更多...主要的div是客户端,当它完成切换时,我应该显示或隐藏链接...并且这个隐藏和显示应该在回调函数之外的切换功能....我是吗? – abbas 2011-05-11 15:08:22

0

代码代码是设置来切换lnkClientData那么当被拨动clientdiv做,如果换成他们周围即:

$('#divnext').click(function() { 
    $('#clientdiv').slideToggle(function(){ 
     if($('#lnkClientData').hasClass('open')) 
     { 

      $('#lnkClientData').slideToggle(); 
      $('#lnkClientData').removeClass('open').addClass('close'); 
     } 
     else 
     { 

     $('#lnkClientData').slideToggle(); 
     $('#lnkClientData').removeClass('close').addClass('open'); 
     } 
    } 
    ); 
});