首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在窗口中显示计数器并使其关闭?

如何在窗口中显示计数器并使其关闭?
EN

Stack Overflow用户
提问于 2021-11-06 13:34:04
回答 2查看 99关注 0票数 0

在我的代码中,当单击一个按钮打开一个窗口时,一个计数器出现在1到100之间的随机数之间,它计数到0并且窗口关闭,但是我不知道我做错了什么,因为我打开的窗口中没有出现任何东西。在这里,我保留了部分html代码,因为我决定通过提供一个按钮和javascript来打开它。

代码语言:javascript
复制
var ventana;

function abrir() {
  ventana = window.open("", "new_window", "width=800,height=500,status=no,toolbar=no,menubar=no");
}

window.onload = contar;

function contar() {
  var contartiempo = Math.floor(Math.random() * 100);
  ventana.document.getElementById('contador').innerHTML = contartiempo;
  if (contartiempo == 0) {
    ventana.close();
  }
  ventana.document.write(" tu contador:<span id = contador></span>") //quiero que se muestre en la ventana abierta el contador
}
代码语言:javascript
复制
<body>
  <input type="submit" value="Abrir" onclick="abrir()">
</body>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-06 13:56:45

因此,在这个代码中有很多值得关注的问题:

  1. ,在加载时加载contar函数,在此之前,ventana是undefined,因此当您执行ventana.whatever之类的操作(试图访问未定义的属性)时,会出现一个错误。

由于新页面中的文档在创建时没有使用

  1. 的跨度,因此行ventana.document.getElementById('contador').innerHTML = contartiempo;也将失败。

要解决这个问题:

代码语言:javascript
复制
var ventana;

function abrir() {
  ventana = window.open("", "new_window", "width=800,height=500,status=no,toolbar=no,menubar=no");

  contar()
}

function contar() {
  if (ventana) {
    var contartiempo = Math.floor(Math.random() * 100);
    ventana.document.write(" tu contador:<span id = contador></span>") //quiero que se muestre en la ventana abierta el contador
    ventana.document.getElementById('contador').innerHTML = contartiempo;
    if (contartiempo == 0) {
      ventana.close();
    }
    
  }
}

在这里,在打开新窗口后,单击父文档中的按钮调用contar函数。然后,我使用ventana.document.write将span &另一个布局放在页面上。然后,我们将向该innerHTML添加一个span

HTML部件不需要任何更改。

票数 0
EN

Stack Overflow用户

发布于 2021-11-06 14:53:11

我已经解决了我的问题,代码显示一个窗口,执行计数器并关闭该窗口,这里是结果。

代码语言:javascript
复制
var ventana;

function abrir() {
  ventana = window.open("", "new_window", "width=800,height=500,status=no,toolbar=no,menubar=no");

  contar()
}
window.onload = contar//para que cuando 
var contartiempo = Math.floor(Math.random() * 100);
function contar() {
  if (ventana) {

    ventana.document.write(" <span id = contador></span>") //quiero que se muestre en la ventana abierta el contador
    ventana.document.getElementById('contador').innerHTML = contartiempo;
    if (contartiempo == 0) {
      ventana.close();
    } else{
        contartiempo-=1;
        setTimeout("contar()",1000);
    }
    
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69864451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档