2011-03-01 76 views
0

我希望動畫在允許點擊下一個按鈕之前運行,以避免動畫不同步。我不知道什麼是更好的綁定/解除綁定或類似的東西,而不是真正的循環。禁用點擊,直到動畫完成

function first_horizontal_slider() { 
var $scroller = $('div#first_slider'); 
var counter = 0; 



$('div#first_left_btn a').css({'background': 'url(img/left_arrow_bw.png) no-repeat'}); 
$('div#first_right_btn a').css({'background': 'url(img/right_arrow.png) no-repeat'}); 

$('div#first_left_btn a').click(function() {  

    if (counter != 0) 
    { 
     $('div#first_right_btn a').css({'background': 'url(img/right_arrow.png) no-repeat'}); 

     $scroller.stop().animate({ 
      "left":"+=732px" 
     },"slow"); 
     counter--; 

     if (counter == 0) 
     { 
      $('div#first_left_btn a').css({'background': 'url(img/left_arrow_bw.png) no-repeat'}); 
     }  
    } 
    return false; 
}); 

$('div#first_right_btn a').click(function() { 

    if (counter != 2) 
    { 
     $('div#first_left_btn a').css({'background': 'url(img/left_arrow.png) no-repeat'}); 

     $scroller.stop().animate({ 
      "left":"-=732px" 
     },"slow"); 
     counter++; 

     if (counter == 2) 
     { 
      $('div#first_right_btn a').css({'background': 'url(img/right_arrow_bw.png) no-repeat'}); 
     } 
    } 
    return false; 
}); 

}

回答

0

如果以後使用buttoninput type="button"那麼你就可以在動畫之前設置.disabledtrue,再換false

0

關於動畫的回調函數您可以設置按鈕啓用。

0

你可以在動畫開始禁用按鈕,在動畫的complete方法的回調,使按鈕

//before animation starts 
disableButton() 

$scroller.stop().animate({ 
      "left":"+=732px" 
     },"slow", 'swing', enableButton); //added default easing 

function enableButton() { 
    $('#thebutton').removeAttr('disabled'); 
} 

function disableButton() { 
    $('#thebutton').attr('disabled', 'disabled'); 
} 
相關問題