10秒后添加类

Add class after 10 seconds

本文关键字:添加 10秒      更新时间:2023-09-26

我有一个div,当我点击它时,它会添加一个类"playing"。然后,10秒后,我想添加一个类"finished"。

我有这个代码,但我该如何计时,以便在10秒后添加finsihed类?

  $('.albums img').on('click',function(){
    $(this).addClass('playing');
  });

感谢您的帮助!


非常感谢大家。我用这个问题向HackerYou的大约30名学生展示了如何使用stackerflow从社区获得一流的帮助

尝试使用setTimeout指定10秒延迟。

 $('.albums img').on('click',function(){
    var $this = $(this).addClass('playing');
    window.setTimeout(function(){
        $this.addClass('finsihed');
    }, 10000); //<-- Delay in milliseconds
  });

您可以将.delay()与.requeue()一起使用

$('.albums img').on('click', function () {
    $(this).addClass('playing').delay(3000).queue(function () {
        $(this).addClass('finsihed')
    });
});

演示:Fiddle

您可以使用函数setTimeout()在10秒后调用回调函数。

例如。

var timeout = null;
$('.albums img').on('click', function() {
    var self = this;
    $(self).addClass('playing');
    // clear previous timeout if it exists
    timeout && clearTimeout(timeout);
    // set the timeout
    timeout = setTimeout(function() {
        $(self).addClass('finished');
    // 10 seconds
    }, 10e3);
});