如何自动更改Javascript页面?

时间:2018-10-03 12:33:48

标签: javascript jquery html css settimeout

试图获取使用setTimeout自动更改页面的代码,但我无法正常工作。

setTimeout()(page3, 500);

function page3() {
  changepage3('automatic')
}

这是我的代码现在的样子,但是我怀疑这还不够。有人知道缺少什么吗?

3 个答案:

答案 0 :(得分:0)

尝试这个

function page3() {
  changepage3('automatic') 
}

setTimeout(page3, 500);

答案 1 :(得分:0)

setTimout需要特定的语法才能工作,请查看Mozilla最好的JavaScript文档中的内容:https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout#Syntax

这是一个例子

saySomethingAfter(5);

function saySomethingAfter(second) {
    setTimeout(saySomething, second * 1000);
}

function saySomething() {
    console.log("Something");
}

您的问题是“如何自动更改Java页面?”使用setTimeout。让我们分析一下需求:


function changePage(url) {
  window.open(url, "_self");
}

function changePageAfter5sec(url) {
  setTimeout(function() {
    changePage(url)
  }, 5000);
}

changePageAfter5sec("https://stackoverflow.com")

使用精美的功能JavaScript的另一种方法:

function changePage(url) {
  return () => {
    window.open(url, "_self");
  }
}

function changePageAfter(second) {
  return (url) => {
    setTimeout(changePage(url), second*1000);
  }
}

const changePageAfter5sec = changePageAfter(5);

changePageAfter5sec("https://stackoverflow.com")

答案 2 :(得分:0)

在提供的代码段中您有两个主要问题:

  1. 那是不正确的setTimeout()语法-因此它实际上不起作用。
  2. 即使它确实起作用,也会调用1个函数,该函数使用另一个不存在的函数,从而破坏了代码。

解决问题编号1:

window.setTimeout(changePage, 5000);

现在我们有一个运行超时,它将在启动后(通常)触发5000毫秒。 因此,让我们解决问题2,让changepage()调用实际的正确网址打开函数:

function changePage(){
    window.open(urlOfPage3);
}

最后是一个更简单的版本,在setTimeout中具有匿名回调函数:

window.setTimeout(function(){
    window.open(urlOfPage3);
}, 5000);