我正在尝试制作一个测试某人学习不同外来词的能力的程序。为此我需要一个隐藏DIV的javascript函数,并填充一个空函数,然后调用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>
提前致谢!
答案 0 :(得分:1)
尝试:
setTimeout(volgendePagina, 6000);
或
setTimeout(function(){ volgendePagina() }, 6000);
同样在这里:
function weghalen(var element) {
var element = document.getElementById('starter');
element.parentNode.removeChild(element);
}
首先,您不要在函数的括号之间包含var
。
其次,您正在创建一个与函数参数同名的变量,因此该语言不知道您要在哪个地方使用。
把它改成这样的东西:
function weghalen(el) {
var element = document.getElementById('starter');
element.parentNode.removeChild(el);
}
答案 1 :(得分:1)
尝试更改链接以使用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
的逻辑是否会按预期运作。
答案 2 :(得分:1)
检查您的JS控制台:您不能在函数参数声明中包含var
。变化:
function weghalen(var element) {
为:
function weghalen(element) {