jquery disable click until animation is fully complete

时光总嘲笑我的痴心妄想 提交于 2019-11-28 14:03:38

Use on() and off() to turn the click function on/off :

$('.ele').on('click', animateEle);

function animateEle(e) {
    $('.ele').stop().animate({'top':'0px'},2000);
    $(e.target).off('click').stop().animate({'top':'100px'},4000, function() {
        $(e.target).on('click', animateEle);
    });
}​

DEMONSTRATION

You can try this:

var exec_a1 = true, exec_a2 = true;
$('.ele').click(function() {
    if (exec_a1 && exec_a2) {
        exec_a1 = false;
        exec_a2 = false;

        $('.ele').stop().animate({'top': '0px'}, 2000, function() {
            exec_a1 = true;
        });
        $(this).stop().animate({'top': '100px'}, 4000, function() {
            exec_a2 = true;
        });
    }
    return false;
});
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!