2010-12-07 10 views
1
function loadIgInnerPanelMenu(panelNum){ 

    var delayTime = 300; 

    if($('#igto1 .btMenuShow').length === 0){ 

     $('#igto1 .igInnerPanelBottomMenu').append(loadIgInnerBM(panelNum)).animate({'top':419},'fast',function(){}).addClass('btMenuShow').find('.btMenu').each(function(){ 
      $(this).stop(false,true).animate({'top':0},delayTime); 
      delayTime+=100;  
     }); 
    } 
    else{  
     // using inuse to prevent the botton quick switch 
     if(inuse === false){     

      $('#igto1 .igInnerPanelBottomMenu').append(loadIgInnerBM(panelNum)).find('.btMenu:gt(3)').each(function(){ 
       $(this).stop(false,true).animate({'top':0},delayTime); 
       delayTime+=100; 
      }); 

     }   
    } 

    alert(delayTime) 

}Der Variablenwert wird nicht in der jquery animate-Funktion zurückgesetzt!

diese Funktion durch einen ‚Klick‘ -Ereignis aufgerufen wird .aber der Wert delayTime nicht zurück zu 300 gesetzt, nachdem die Funktion aufgerufen wurde again.The delayTime Wert kumuliert wurde.

Vielen Dank !!

Antwort

1

@gin,

Sie die Variable deklarieren, aber eines der, wenn die Bedingungen sind immer richtig Ausführung wird

den folgenden Code ausgeführt sicher und was ist, warum es

auf einen anderen Wert einstellen wird

die unterhalb der Linie und Druck entfernen, sollte es immer 300 drucken diese

delayTime+=100; 
`delyaTime=delyaTime+100;`// equivalent of above code...// you might be already knowing it 
+0

Dank. Aber warum DelayTime + = 100 kumuliert den DelayTime Wert ?? – qinHaiXiang

0

versuchen:

function loadIgInnerPanelMenu(panelNum){ 

    var delayTime; 

    if($('#igto1 .btMenuShow').length === 0){ 

$('#igto1 .igInnerPanelBottomMenu').append(loadIgInnerBM(panelNum)).clearQueue(); 
delayTime = 300; 

     $('#igto1 .igInnerPanelBottomMenu').append(loadIgInnerBM(panelNum)).animate({'top':419},'fast',function(){}).addClass('btMenuShow').find('.btMenu').each(function(){ 
      $(this).stop(false,true).animate({'top':0},delayTime); 
      delayTime+=100;  
     }); 
    } 
    else{  
     // using inuse to prevent the botton quick switch 
     if(inuse === false){     

      $('#igto1 .igInnerPanelBottomMenu').append(loadIgInnerBM(panelNum)).find('.btMenu:gt(3)').each(function(){ 
$(this).stop(false,true).clearQueue(); 
delayTime = 300; 
       $(this).stop(false,true).animate({'top':0},delayTime); 
       delayTime+=100; 
      }); 

     }   
    } 

    alert(delayTime) 
} 
Verwandte Themen