我正在尝试制作一个程序来测试某人学习不同外来单词的能力。为此,我需要一个 JavaScript 函数来隐藏 DIV 并填充空 DIV,然后调用 setTimeout()。问题是据我所知,这个函数没有被调用。
我尝试在网上寻找答案,但找不到有效的解决方案,也许你们中的一个人可以提供帮助。这是我的代码:
<html>
<head>
<style type="text/css">
#starter
{
text-align: center;
margin-top: 15%;
}
#main
{
text-align: center;
z-index: -1;
<?php
$i = rand(1, 8);
switch($i) {
}
?>
}
</style>
<script type="text/javascript">
function weghalen(var element) {
var element = document.getElementById('starter');
element.parentNode.removeChild(element);
}
function volgendePagina() {
window.location.href = "test.php";
}
function startOnderzoek() {
weghalen('starter');
var tekst = <?php include 'Scripts.php'; echoWoorden(); ?>;
document.getElementById('mainP').innerHTML = tekst;
setTimeout(volgendePagina(), 6000);
}
</script>
</head>
<body>
<div id="starter">
<p>
Als u op 'Start onderzoek' druk begint uw timer van 6 seconden te lopen. Aan het einde van uw 6 seconden wordt u vanzelf naar een volgende pagina gebracht.
</p>
<a href="javascript: startOnderzoek()">
<input type="button" value="Start onderzoek" />
</a>
</div>
<div id="mainDIV">
<p id="mainP"></p>
</div>
</body>
提前致谢!
最佳答案
尝试更改链接以使用 onclick:
<a href="javascript:void(0);" onclick="startOnderzoek(); return false;">
您还需要将 setTimeout 更改为:
setTimeout(volgendePagina, 6000);
在 volgendePagina 之后加上括号将导致它立即执行,而不是在 6 秒结束时执行。
还引用了 Paul 关于 weghalen 函数的说法。该参数的名称与您正在创建的变量的名称相同。
您可能需要考虑像这样重构该函数:
function weghalen(child) {
var element = document.getElementById('starter');
element.parentNode.removeChild(child);
}
我也不确定 weghalen
的逻辑将按您的预期工作。
关于未调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27693372/