2015-03-19 2 views
-1

Пожалуйста, взгляните и нажмите на прямоугольник «пакет 2» и посмотрите анимацию, которую я пытаюсь создать, она работает нормально, но если вы нажмете снова, анимация будет продолжена, и я бы хотел чтобы создать что-то вроде: Если это на текущем, опция нажмите будет отключенаjquery if current disable click

код:

$(document).ready(function() { 

    $('#tab2').click(function(){ 
     $('.current').animate({ left: "+=208" }); 
    }); 

}); 

Полный код: http://jsfiddle.net/13sh602y/

+2

Вы можете просто добавить класс к тому, что нажали, и проверить, чтобы он определял выполнение код или нет, а затем удалить класс, когда нажимается другой щелчок – Huangism

ответ

2

вы хотите, а обобщенную функцию?

проверить это

добавил имя класса для вкладок и анимировать .Current к offset.left текущего щелкнул вкладки

<div class="current">V</div> 
<ul> 
    <li class="tabb" id="tab1">package1</li> 
    <li class="tabb" id="tab2">package2</li> 
    <li class="tabb" id="tab3">package3</li> 
</ul> 

-

$(document).ready(function() { 

    $('.tabb').click(function(){ 
     $('.current').stop(true,false) 
     $('.current').animate({ left: $(this).offset().left }); 
    }); 

}); 

http://jsfiddle.net/13sh602y/1/

+0

Очень круто, спасибо, что я был нужен – user4571629

+0

добавил '$ ('. current'). stop (true, false)', так что у вас нет странного лаггинга если вы нажмете несколько вкладок за короткое время –