2011-05-11 111 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'); 
     } 
    } 
    ); 
});