微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

延迟后使用jQuery添加一个类

单击一个元素时,我想向body元素添加一个类,但稍有延迟.
因此,单击element1,然后在.5秒后,正文被赋予一个新类.

我正在使用它在某种程度上工作…

$('.element1').click(function() {
    $('body').delay(500).queue(function(){
        $(this).addClass('left-bg')
    });
});

但是,我有一个click事件,它从body中删除了这个left-bg类.

$('.another-element').click(function() {
    $('body').removeClass('left-bg');
});

但是下次单击.element1时,它根本不会将left-bg类应用于正文.

希望有道理.任何人都可以帮我这个或建议另一种方式去做吗?

解决方法

清除队列:

DEMO

$('.element1').click(function() {
    $('body').delay(500).queue(function(){
        $(this).addClass('left-bg').clearQueue();
    });
});

$('.another-element').click(function() {
    $('body').removeClass('left-bg');
});

原文地址:https://www.jb51.cc/jquery/177736.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐