1

我希望限制用户在幻灯片处于动画状态时单击下一步按钮(当图像在延迟动画期间忙于滑动时)。我怎么能这样做?另外,如何确保单击下一个按钮后延迟速度不会改变?

$(document).ready(function(){
        $('#prev').hide();
        i=0;
        for(k=0;k<6;k++){
        for(j=0;j<4;j++){
            $('#pic').delay(4000).animate({top:'-=384px'},'300');
            $('.c_head,.c_body').delay(4000).animate({left:'-=170px'},'300');

        }
            for(j=4;j>0;j--){

            $('#pic').delay(4000).animate({top:'+=384px'},'300');
            $('.c_head,.c_body').delay(4000).animate({left:'+=170px'},'300');
        }

        }

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

        if(i<4){
            $('#pic').stop().animate({top:'-=384px'},'300');
            $('.c_head,.c_body').stop().animate({left:'-=170px'},'300');        

            i++;
            $('#prev').show();
                if(i==4){
                $('#next').hide();

                }

        }

        });

        $('#prev').click(function(){
            if(i>0){
            $('#pic').stop().animate({top:'+=384px'},'300');    
            $('.c_head,.c_body').stop().animate({left:'+=170px'},'300');
    i--;
    $('#next').show();
                if(i==0){
                $('#prev').hide();

                }   
            }
    });



    });
4

1 回答 1

1

您可以使用complete来自 的事件animate

       $("#next").attr('disabled', 'disabled');
       $('#pic').stop().animate({top:'-=384px'},'300', function (e) {
              $("#next").removeAttr('disabled');
       });
于 2013-07-01T07:06:57.507 回答