经常单击按钮会使事件绑定变为Haywire

时间:2014-02-22 13:50:38

标签: jquery

开启按钮单击,我将更改单选按钮的选定值

$('#left').click(function(){
    move(-1)
})
$('#right').click(function(){
    move(1)
})


function anim_loop(index) {
    if(index == $elements.length){
        index = 0;
    }
    if(timer){
        $elements.filter('.current').stop(true, true).hide().removeClass('current');
        clearTimeout(timer)
    }
    $radios.eq(index).prop('checked', true);
    $elements.eq(index).stop(true, true).addClass('current').fadeIn(1000, function() {
        var $self = $(this);
        timer = setTimeout(function() {
            $self.fadeOut(1000).removeClass('current');
            anim_loop((index + 1) % $elements.length);
            timer = undefined;
        }, 3000);
    });
}

但是当我单击“向右”按钮太快时,整个单选按钮选择循环就会变得混乱。什么可能是它的解决方案?

http://jsfiddle.net/69nk3/3/

1 个答案:

答案 0 :(得分:1)

试试这个

$('#left').click(function(){
  $(this).clearQueue();
  $('#right').stop().clearQueue();
  move(-1);
})
$('#right').click(function(){
   $(this).clearQueue();
   $('#left').stop().clearQueue();
   move(1);
})