2011-09-07 57 views
0

我希望大家都做得很好。如何讀取jquery slide切換回調函數中設置的變量的值?

我正在設置滑動切換回調函數內的變量。我需要根據這個變量的值執行一些操作。所以,我需要等待這個變量的值在父方法中設置。我認爲下面的代碼片段將更好地解釋我正在嘗試做什麼。

function() { 
     $(this).next().slideToggle('normal',function(){ 
      if ($(this).is(':hidden')) 
      { 
       state = "open"; 
      } 
      else 
      { 
       state = "close"; 
      } 
      isAnimationCompleted=true; 
      return true; 
    }); 

      while(isAnimationCompleted==false) 
       {    
      //do nothing 
       } 
      isAnimationCompleted=false; 
      var selectedElement =$.trim(this.textContent); 
      if(state=="open") 
      { 
       showHelp(selectedElement,state); 
      } 

     } 

我會衷心感謝您的幫助。謝謝。

+0

你在哪裏聲明'狀態'? – AlexBay

+1

wierd東傢伙 – jAndy

回答

1

在您希望追蹤其狀態的對象上使用$ .data()方法。這樣,您希望存儲的屬性值組合與特定的對象相關聯。

在文檔中有一個很好的解釋:http://api.jquery.com/jQuery.data/

至於你的代碼去,試試這個:

function() { 
    // When the page loads, set a default value to the property, 
    $("#div_you_toggle").data("open",false); 

    $("#div_you_toggle").slideToggle('normal',function(){ 
     if ($(this).is(':hidden')) 
     { 
      $(this).data("open",false); 
     } 
     else 
     { 
      $(this).data("open",true); 
     } 
     isAnimationCompleted=true; 
     return true; 
}); 

     while(isAnimationCompleted==false) 
      {    
     //do nothing 
      } 
     isAnimationCompleted=false; 
     var selectedElement =$.trim(this.textContent); 
     if($("#div_you_toggle").data("open") == true) 
     { 
      showHelp(selectedElement,state); 
     } 

    } 

肯定有一點,可以採取現場優化的,但這應該介紹的基本概念。

+0

非常感謝Michael的幫助:) –

相關問題