How do I get JavaScript to delay, and then refresh

2019-05-21 18:55发布

问题:

I'd like my JavaScript to, at the end of the function I have created, wait seven seconds, and then refresh my page. If it is important, I have the vital parts of my JavaScript and HTML below...


Javascript:

var textfill = function () {
    var node = document.createElement("P");
    var x = document.getElementById('entertext').value;
    var textnode = document.createTextNode("The search results for: '" + x + "' will show up here");
    node.appendChild(textnode);
    document.getElementById("123").appendChild(node);
}

HTML:

 <input type="text" id="entertext">
 <input type="button" onclick="textfill()" value="Search">
 <p id="123">
 </p>

回答1:

function refreshPage() {
    //ensure reloading from server instead of cache
    location.reload(true);
}
function delayRefreshPage(mileSeconds) {
    window.setTimeout(refreshPage, mileSeconds);
}
var textfill = function () {
    var node = document.createElement("P");
    var x = document.getElementById('entertext').value;
    var textnode = document.createTextNode("The search results for: '" + x + "' will show up here");
    node.appendChild(textnode);
    document.getElementById("123").appendChild(node);
    delayRefreshPage(2000);
}

Summarizing @ioseph and my personal experience.



回答2:

To do something after a certain amount of time use setTimeout - https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout

And to refresh the page, call

window.location.reload