如何在我的 javascript 中延迟以下操作之间的执行
How to delay execution in between the following in my javascript
我想在以下代码之间延迟执行:
$("#myName").val("Tom");
///delay by 3s
$("#YourName").val("Jerry");
//delay by 3s
$("#hisName").val("Kids");
您可以使用
setTimeout
:
setTimeout(function() {
// Your code here
}, delayInMilliseconds);
例如:
$("#myName").val("Tom");
/// wait 3 seconds
setTimeout(function() {
$("#YourName").val("Jerry");
/// wait 3 seconds
setTimeout(function() {
$("#hisName").val("Kids");
}, 3000);
}, 3000);
setTimeout
计划在间隔后运行(一次)函数。调用它的代码将继续,并且在将来的某个时候(大约在您指定的时间之后,尽管不精确),浏览器会调用该函数。
因此,假设您有一个名为 output
的函数,该函数将文本附加到页面。这个的输出:
foo();
function foo() {
var counter = 0;
output("A: " + counter);
++counter;
setTimeout(function() {
output("B: " + counter);
++counter;
setTimeout(function() {
output("C: " + counter);
++counter;
}, 1000);
}, 1000);
output("D: " + counter);
++counter;
}
。是(几秒钟后):
答: 0深:1乙: 2C: 3
请注意第二行。foo
的其余代码在任一调度函数之前运行,因此我们看到B
行之前的D
行。
setTimeout
返回一个句柄(这是一个非零数字),可用于在回调发生之前取消回调:
var handle = setTimeout(myFunction, 5000);
// Do this before it runs, and it'll never run
clearTimeout(handle);
还有相关的setInterval
/clearInterval
执行相同的操作,但以您指定的间隔重复(直到您停止它)。
您可以使用 setTimeout 函数。我认为语法是
window.setTimeout('$("#YourName").val("Jerry")',3000);
你不能在不
锁定浏览器的情况下在JavaScript中"延迟";即用户不能移动鼠标或点击任何东西(不希望3+秒!)。
相反,您应该考虑设置超时,这将在未来某个时间执行指定的代码......
$("#myName").val("Tom");
setTimeout(function () {
$("#YourName").val("Jerry");
setTimeout(function () {
$("#hisName").val("Kids");
}, 3000);
}, 3000);
您可以在此处查看setTimeout
的文档:https://developer.mozilla.org/en/window.setTimeout。它的基础知识是将函数引用或字符串(但是应避免)作为第一个参数传递,第二个参数指定代码应延迟多少毫秒。
如果延迟总是相同的(在你的例子中是 3s),你可以避免嵌套代码并使用 setInterval
而不是 setTimeout
:
var i
, ids = ["myName", "YourName", "hisName"]
, names = ["Tom", "Jerry", "Kids"];
i = setInterval(function () {
if (ids.length > 0) {
$("#" + ids.shift()).val(names.shift());
} else {
clearInterval(i);
}
}, 3000);
相关文章:
- 操作放置在画布上的元素之间的连接
- 在Google Analytics中跟踪用户,但只能在两个操作之间跟踪
- 如何解决存储中操作之间的依赖关系
- 在 Zend Framework 中的 AJAX 调用后在操作之间传递变量
- 如何在两个聚合之间进行操作
- 在不同的视图之间共享相同的操作/功能
- 弹出窗口和浏览器操作窗口之间的chrome.storage
- 在操作之间发送 Ajax 消息集超时 m 延迟
- 真实的用户操作和程序生成的操作之间有什么区别
- 如何在it块之间同步操作
- 数组之间操作中的语义含义
- chrome扩展的浏览器操作、后台脚本和内容脚本之间通信的上下文和方法
- 仅使用数学操作更改0->1或1->0之间的值
- 在表单操作与复选框或单选按钮之间交替进行
- Ajax和Ajax之间的区别是什么?调用返回JSON的操作方法时
- Redux在组件之间共享操作
- 如何使用导航器按钮执行页面之间导航以外的操作
- js按键事件和未发生按键事件时的操作之间的间隔
- 如何在我的 javascript 中延迟以下操作之间的执行
- 在相同函数的操作之间添加时间延迟