javascript - JQuery setTimeout - 还有更有效的方法吗?

标签 javascript jquery settimeout

所以我只是每隔一段时间切换和删除一些类——我对 JS 和 JQuery 还很陌生,但我已经做到了,效果很好:

function priceTable() {
    setTimeout(function(){$("#price-table-1").toggleClass("price-table-highlight");  },1000);
    setTimeout(function(){$("#price-table-1").removeClass("price-table-highlight");  },2000);
    setTimeout(function(){$("#price-table-2").toggleClass("price-table-highlight");  },2000);
    setTimeout(function(){$("#price-table-2").removeClass("price-table-highlight");  },3000);
    setTimeout(function(){$("#price-table-3").toggleClass("price-table-highlight");  },3000);
    setTimeout(function(){$("#price-table-3").removeClass("price-table-highlight");  },4000); 
}

但是,似乎有很多重复 - 有更好的方法吗?

最佳答案

对于 jQuery 动画方法,使用 delay 方法效果很好。对于其他 jQuery 方法,我可能会推荐 jquery.wait ,它的工作方式类似于 delay 但适用于所有 jQuery 方法。然后你的代码就变成了

function priceTable() {
  $('#price-table-1').wait(1000).toggleClass('price-table-highlight').wait(1000).removeClass('price-table-highlight');
  $('#price-table-2').wait(2000).toggleClass('price-table-highlight').wait(1000).removeClass('price-table-highlight');
  $('#price-table-2').wait(3000).toggleClass('price-table-highlight').wait(1000).removeClass('price-table-highlight');
}

关于javascript - JQuery setTimeout - 还有更有效的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13502091/

相关文章:

javascript - 如何使用 JavaScript/JQuery 打印鼠标拖动距离(以像素为单位)

memory-leaks - 内存泄漏 JQuery - 所有浏览器

javascript - Mobile Safari 不接受绑定(bind)到此的 setTimeout 函数

Javascript函数定义

javascript - 我无法在单选按钮之间切换

jQuery - 如何选择包含 th 的 tr?

javascript - 检测来自不同 DOM 元素的数据变化

Javascript - 批量处理数组并显示进度

javascript - 为什么 (function() { return this; }).call ('string literal' ) 返回 [String : 'string literal' ] instead of 'string literal' ?

javascript - 如何在canvas html中的多个图像上调用一个函数