Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用已用时间替换div的内容_Javascript_Html - Fatal编程技术网

Javascript 用已用时间替换div的内容

Javascript 用已用时间替换div的内容,javascript,html,Javascript,Html,有人知道我做错了什么吗?首先,我在另一个HTML文件的脚本标记中创建了一个全局变量,并使用当前时间。现在,我想计算打开此文档和另一个文档之间的时间。这是一个简单的2D游戏的一部分,这将是一个时间计数器。我这样试过了,但没用 第一个HTML部分: <script type="text/javascript"> var elem = document.getElementById('game'); elem.addEventListener("keydow

有人知道我做错了什么吗?首先,我在另一个HTML文件的脚本标记中创建了一个全局变量,并使用当前时间。现在,我想计算打开此文档和另一个文档之间的时间。这是一个简单的2D游戏的一部分,这将是一个时间计数器。我这样试过了,但没用

第一个HTML部分:

<script type="text/javascript">
        var elem = document.getElementById('game');
        elem.addEventListener("keydown", KeyPressed );
        start = performance.now();
</script>   

var elem=document.getElementById('game');
元素addEventListener(“向下键”,按下键);
开始=性能。现在();
另一个HTML文件中的第二个:

<script type="text/javascript">
        var zeit = performance.now();
        document.getElementById('sc').innerHTML = 'Dauer: ' + ((zeit - start) / 1000) + ' sek.';
</script>

var zeit=performance.now();
document.getElementById('sc').innerHTML='Dauer:'+((zeit-start)/1000)+'sek';

Sc是指我想要显示时间的div框。

看起来你可能不在范围内:

这意味着第二个脚本标记不知道
start
您是否尝试记录
console.log(start)
以检查它是否可用

要处理此问题,您可能需要将变量
start
作为第二个脚本可以访问的隐藏变量添加到某个位置,或者如果发生重定向,您可能需要将其作为参数传递


如果这不正确,请您详细说明您正在尝试执行的操作。

您无法从其他HTML文件访问变量

,因为您在一个窗口中创建了
start
,然后尝试在另一个窗口中访问它,您将丢失第二个HTML文件中对
start
的引用。一种解决方案是使用以节省启动时间

<script type="text/javascript">
        var elem = document.getElementById('game');
        elem.addEventListener("keydown", KeyPressed );
        start = performance.now();
        localStorage.setItem('start', start);
</script>
<script type="text/javascript">
        var zeit = performance.now();
        var start = localStorage.getItem("start");
        document.getElementById('sc').innerHTML = 'Dauer: ' + ((zeit - start) / 1000) + ' sek.';
</script>

var elem=document.getElementById('game');
元素addEventListener(“向下键”,按下键);
开始=性能。现在();
setItem('start',start');
然后在第二个文件中获取开始时间

<script type="text/javascript">
        var elem = document.getElementById('game');
        elem.addEventListener("keydown", KeyPressed );
        start = performance.now();
        localStorage.setItem('start', start);
</script>
<script type="text/javascript">
        var zeit = performance.now();
        var start = localStorage.getItem("start");
        document.getElementById('sc').innerHTML = 'Dauer: ' + ((zeit - start) / 1000) + ' sek.';
</script>

var zeit=performance.now();
var start=localStorage.getItem(“start”);
document.getElementById('sc').innerHTML='Dauer:'+((zeit-start)/1000)+'sek';

请参见,您可以尝试在第一个文件中的cookie中设置
start
的值,并通过第二个文件中的cookie访问该值。当您切换窗口时,对
start
的引用丢失,并且窗口上的其他一些指示灯也可以使用本地存储。我将变量start设置为gloabale变量,因此通常脚本可以访问它。我也用console.log尝试过,但chrome(我的浏览器)显示“未捕获引用错误:未定义开始”。我正在试着为学校做一个简单的2D跳跃和跑步。我在碰撞检测和分数方面都失败了。我想计算打开GAME.HTML和WiN.HTML之间的时间,并在Win .HTMLN上显示时间。在这种情况下,你可能需要考虑一个独立的JS文件,这样你就可以用所需的值来创建一些方法并调用它们。同样,一个相对简单的方法是一个cookie或一个值设置为开始时间的隐藏输入!但现在我遇到了一个问题,它说“uncaughttypeerror:无法将属性'innerHTML'设置为null”。我认为innerHTML在每个浏览器中都可用,所以我用它代替innerText?我知道这个问题。当我尝试替换div的值时,它不存在。我解决了,非常感谢!!!