我有两个函数,functionOne()和functionTwo()。
如何在调用functionTwo()结束/之后10秒调用functionOne()?
我希望在单击按钮之后发生functionOne,然后在functionOne结束后10秒后执行functionTwo (无需再次单击按钮/让用户做任何事情!)
看下面我的代码!
<p id="paragraphChange">"Hello World"</p>
<button type="button" id="clickToChangeText" onClick="functionOne()">Click!</button>
<script>
functionOne() {
document.getElementById("paragraphChange").innerHTML = "Bye World";
}
functionTwo() {
document.getElementById("paragraphChange").innerHTML = "Jokes I'm still here";
}
</script>我试着使用setTimeout,但问题是我认为没有'onend‘事件可以用于第一个函数。例:
setTimeout(functionOne.onend,10,000);
发布于 2022-04-27 10:33:49
最重要的是,您必须使用function functionTwo.关键字function来正确声明您的函数:function functionOne,
setTimeout:“全局setTimeout()方法设置一个计时器,它在计时器过期后执行函数。”因此,在计时器完成后,传入要执行的函数。下面是一些处理这个问题的更多方法。
addEventListner用于para元素textContent而不是innerHTML,因为您没有添加HTML
// Cache the elements
const para = document.querySelector('#paragraphChange');
const button = document.querySelector('#clickToChangeText');
// Add a listener to the button
button.addEventListener('click', functionOne, false);
// Set the text content of the para element
// and then call the second function with a time out
function functionOne() {
para.textContent = 'Bye World';
setTimeout(functionTwo, 5000);
}
// Update the para with new text
function functionTwo() {
para.textContent = 'Jokes I\'m still here';
}<p id="paragraphChange">"Hello World"</p>
<button type="button" id="clickToChangeText">Click!</button>
发布于 2022-04-27 10:17:55
此代码调用functionOne onClick,10秒后调用functionTwo。
<p id="paragraphChange">"Hello World"</p>
<button type="button" id="clickToChangeText" onClick="functionOne()">Click!</button>
<script>
function functionOne() {
document.getElementById("paragraphChange").innerHTML = "Bye World";
setTimeout(() => functionTwo(), 10000);
}
function functionTwo() {
document.getElementById("paragraphChange").innerHTML = "Jokes I'm still here";
}
</script>发布于 2022-04-27 10:25:05
我不认为在JavaScript中有什么叫做setTimeout(functionTwo, 10000)的东西,您必须在functionOne()的末尾使用setTimeout(functionTwo, 10000),如下所示:
function functionTwo() {
//code to be execute
}
function functionOne(){
//code to be execute
//End of function
setTimeout(functionTwo, 10000);
}https://stackoverflow.com/questions/72027021
复制相似问题