我有兩個函式,functionOne() 和 functionTwo()。
如何在 functionOne() 結束/被呼叫 10 秒后呼叫 functionTwo()?
我希望 functionOne 在單擊按鈕后發生,然后 functionTwo 在 functionOne 結束后 10 秒發生(無需再次單擊按鈕/讓用戶做任何事情!)!
請參閱下面的代碼!
<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);
uj5u.com熱心網友回復:
此代碼呼叫functionOneonClick 并在functionTwo10 秒后呼叫。
<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>
uj5u.com熱心網友回復:
最重要的是,您必須使用關鍵字正確宣告您的函式: , 。
functionfunction functionOnefunction functionTwo這是以下檔案
setTimeout:“全域 setTimeout() 方法設定了一個計時器,該計時器執行一個函式……一旦計時器到期。” 因此,您傳入計時器完成后要執行的函式。
這里還有一些解決問題的方法。
將您的段落元素與前面的按鈕一起快取,以便您使代碼盡可能干燥。
將行內 JS 移動到腳本中,并使用
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>
uj5u.com熱心網友回復:
首先定義 functionTow()。
function functionTwo() {
//code to be execute
}
使用 setTimeout 在 functionOne 的主體中呼叫 functionTwo。
function functionOne(){
//code to be execute
//End of function
setTimeout(functionTwo, 10000);
}
uj5u.com熱心網友回復:
我不認為onend在 JavaScript 中呼叫任何東西你必須setTimeout(functionTwo, 10000)在最后使用functionOne()這樣的:
function functionTwo() {
//code to be execute
}
function functionOne(){
//code to be execute
//End of function
setTimeout(functionTwo, 10000);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/465567.html
標籤:javascript 功能 设置超时 内部html
上一篇:根據輸入減少/過濾陣列
下一篇:粘性div滾動太遠
