jQuery添加/删除类之间的时间

Ene*_*oma 5 javascript jquery

如何设置定时器,介于此之间10秒?

addClass('loading').removeClass('loading')
Run Code Online (Sandbox Code Playgroud)

这是完整的代码

$("#loadmore").click(function() {
    cap += 10;
}).bind('click', loadfeed).addClass('loading').removeClass('loading');
Run Code Online (Sandbox Code Playgroud)

谢谢.

jhc*_*hen 11

使用setTimeout.也不确定为什么你绑定以两种不同的方式点击两次...所以这两个更改看起来像这样:

$("#loadmore").click(function() {
    cap += 10;
    loadfeed();
    $(this).addClass("loading");
    that = this
    setTimeout(function() {
        $(that).removeClass('loading');
    }, 10000)
});
Run Code Online (Sandbox Code Playgroud)


Hri*_*sto 9

您可以使用jQUery delay()方法并创建一个新的队列项来执行删除该类的操作.

$("#loadmore").click(function () {
    cap += 10;
    loadfeed();
}).addClass("loading").delay(10000).queue(function(){
    $(this).removeClass("loading");
    $(this).dequeue();
});
Run Code Online (Sandbox Code Playgroud)

如果您不喜欢这样,setTimeout()@ jcmoney提供的解决方案非常棒.

  • AFAIK`addClass()`和`removeClass()`不使用jQuery队列系统,所以`delay()`在这里不会单独工作.为了使用`delay()`,你需要使用`queue()`手动将`removeClass()`添加到队列中. (3认同)