js如何实现等待1秒后执行一个事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js如何实现等待1秒后执行一个事件相关的知识,希望对你有一定的参考价值。

现有一个js方法send(),如何实现点击按钮后过1秒再执行这个事件?

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<body>标签中输入:<button onclick="setTimeout(send, 1000)">btn</button>,<script>标签中输入js代码:function send() document.body.innerText = 'use send';。

3、浏览器运行index.html页面,点击btn按钮。

4、等待1秒后,确实执行了send()方法打印了“use send”文本。

参考技术A 先介绍两个函数
setTimeout 等待函数 这个函数有两个参数 第一个是要执行的函数 第二个是要等待的时间(该函数只执行一次)
setInterval同样是等待函数 参数和setTImeout一样 (这个函数会一直执行 )
所以根据你的需求只需要这样写就可以了setTimeout(send,1000);
参考技术B 需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<body>标签中输入:<button onclick="setTimeout(send, 1000)">btn</button>,<script>标签中输入js代码:function send() document.body.innerText = 'use send';。

3、浏览器运行index.html页面,点击btn按钮。

4、等待1秒后,确实执行了send()方法打印了“use send”文本。
参考技术C <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>

<p>点击按钮一秒后触发事件</p>
<button id="btn">点击</button>

<script>
window.onload = function()
//获取按钮节点并添加点击事件
var myBtn = document.getElementById("btn");
btn.onclick = function ()
//定时器,一秒后触发
setTimeout(tip,"1000");

//事件函数
function tip()
alert("是不是过了一秒?");


</script>
</body>
</html>

参考技术D js有一个定时器,settimeout()。这个可以1秒后调用方法。
setTimeout(function()alert("Hello"),1000)
这里面function()alert("Hello") 可以换成你的send()方法

VB6模拟键盘事件

帮忙写一个程序:
程序启动5秒后用shell打开记事本,等待1秒后按下"a",再等待2秒后按下"b",之后停止操作并获取焦点。
要求:用keybd_event、操作完成后记事本上显示"ab"

不好意思没看清你是要在启动窗体5秒后运行时候 运行
这样
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
Sleep (5000) '等带5秒
Shell "notepad", 1
Sleep (1000) '等带1秒
Call keybd_event(65, 0, 0, 0) '模拟按下"a"键
Sleep (2000) '等带2秒
Call keybd_event(66, 0, 0, 0) '模拟按下"b"键
Me.Show
End Sub
然后再添加一个模块
在里面写上
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
如果你要一启动就要看见窗体可以添加一个timer控件 Interval 设置为5000
把上面的代码换成Private Sub Timer1_Timer()
Shell "notepad", 1
Sleep (1000) '等带1秒
Call keybd_event(65, 0, 0, 0) '模拟按下"a"键
Sleep (2000) '等带2秒
Call keybd_event(66, 0, 0, 0) '模拟按下"b"键
Me.Show
Timer1.Enabled = False
End Sub
其余不变 你可以自己灵活修改下
主要代码已经给你了
哪个shell 后面的1是正常显示窗体
vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。
VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。
VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。
VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。
VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。
参考技术A 添加一个commandbutton,启动后点击command1激发事件
完整代码:
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Sleep (5000)
Shell "notepad", 1
Sleep (1000)
Call keybd_event(65, 0, 0, 0)
Sleep (2000)
Call keybd_event(66, 0, 0, 0)
Form1.SetFocus
End Sub
参考技术B Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Shell "notepad", 1
Sleep (1000) '等待2秒
Call keybd_event(65, 0, 0, 0) '模拟按下"a"键
Sleep (2000) '等待2秒
Call keybd_event(66, 0, 0, 0) '模拟按下"b"键
Me.SetFocus
End Sub
然后再添加一个模块
在里面写上
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

以上是关于js如何实现等待1秒后执行一个事件的主要内容,如果未能解决你的问题,请参考以下文章

js中如何实在3秒后自动按下回车键

JS篇(防抖/节流)

js如何做等待页面加载效果

VB6模拟键盘事件

如何js实现触屏点击事件

js怎么写2秒后再刷新当前页面