jquery - Jquery:如何在函数后添加延迟
问题描述
我想为我拥有的 4 个功能添加延迟。
我尝试像在这里一样添加延迟,但这不起作用。
$('.navList .li1').toggleClass('li1Active');
$('.navList .li2').delay(2000).toggleClass('li2Active');
$('.navList .li3').delay(2000).toggleClass('li3Active');
$('.navList .li4').delay(2000).toggleClass('li4Active');
解决方案
您正在尝试在做某事之前添加延迟。所以更好的方法是调用一个函数并传递选择器和类来切换。像这样:
function addDelay(selector, toggleClass, delay) {
setTimeout(function () {
$(selector).toggleClass(toggleClass);
}, delay);
}
然后像这样调用函数:
$('.navList .li1').toggleClass('li1Active');
addDelay('.navList .li2', 'li2Active', 2000);
addDelay('.navList .li3', 'li3Active', 2000);
addDelay('.navList .li4', 'li4Active', 2000);
推荐阅读
- mysql - 如何计算两个日期之间的金额
- python - Node.JS 重新加载 Python 脚本
- function - 类型问题的飞镖通用扩展..方法
- acumatica - 在 Acumatica 表格报表中包装列
- java - Java - 如何防止 LocalDate 回到 MySQL 日期?
- javascript - 在 vuejs 组件中添加 window.resize 事件不能独立工作
- ios - 如何使用具有正确值的 Swift 在 CoreData 中保存解码值
- python - 使用 requests.get() 从 Reddit 提交图像 URL 时遇到问题
- automation - 为 msi 安装程序创建响应文件
- angular - 如果 'nb-card' 是一个 Angular 组件,则验证它是这个模块的一部分