延迟函数removeClass

时间:2016-02-22 18:01:45

标签: javascript jquery function settimeout owl-carousel

我已经为我的猫头鹰旋转木马增加了一个功能,它正在添加一个班级"开启"当前滑块可见时,当它不可见时移除。

function syncPosition(el){

  var current = this.currentItem;      

  this.owl.owlItems.removeClass('turn-on');

  setTimeout( function() {
  $(this).removeClass("turn-on");
  }, 2000);

  $(this.owl.owlItems[this.owl.currentItem]).addClass('turn-on');

  }

现在我需要为removeClass添加2秒延迟。 我尝试过设置超时,延迟,但我做错了,因为它不起作用。

选中此fiddle

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

因为超时中的this与syncPosition中的function syncPosition(el){ var current = this.currentItem; this.owl.owlItems.removeClass('turn-on'); var t = this; setTimeout( function() { $(t).removeClass("turn-on"); }, 2000); $(this.owl.owlItems[this.owl.currentItem]).addClass('turn-on'); } 不同。 应该是

{{1}}