javascript新手在这里,但我想知道是否有可能在用户点击HTML链接后设置超时,现在我想知道这是因为我正在制作一个简单的数学游戏,它使用警报方法,这意味着一旦用户点击链接,放置链接的页面仍然可以在后台看到,这看起来并不是很好。我环顾四周,发现了一个名为" window.setTimeout"我想知道我是否可以将该方法绑定到HTML代码中的锚标记。谢谢:))
我的代码:(注意游戏还没有结束:))
<html>
<head>
<title>Maths Game 0.1 Beta</title>
<link rel="stylesheet" type="text/css" href="styling.css">
<script type="text/javascript">
var num1 = prompt("What is 2x10?");
if (num1 == '20') {
alert("Nice Job!");
} else {
alert("Oh well, try again.");
}
</script>
</head>
<body>
</body>
</html>
&#13;
答案 0 :(得分:1)
例如,如果HTML中有<a id="foo" href="#"> </a>
,则可以执行
document.getElementById("foo").onclick = function() {
setTimeout(function() {
// do stuff
}, 5000); // triggers the callback after 5s
};
答案 1 :(得分:0)
试试这个:
<html>
<head>
<title> Maths Game 0.1 Beta</title>
</head>
<body>
<a href="#" onclick="setTimeout('question()', 5000);">First Question</a>
<script type="text/javascript">
function question(){
var num1 = prompt("What is 2x10?");
if (num1=='20'){
alert ("Nice Job!");
}
else {alert ("Oh well, try again.");}
}
</script>
</body>
</html>
答案 2 :(得分:0)
如果我理解正确,您希望实际加载新页面,然后会弹出警告,对吗?
好吧,一旦用户离开你的页面,就不会超时。
但至少有两种方法可以做你所要求的:
伪造页面。
您可以在当前页面的“下一页”中包含所有内容,但会将其隐藏display:none
,并在用户点击您的链接后,首先使原始页面的内容不可见,然后进行“下一页”的内容可见,然后显示提醒。
将值传递到下一页,然后在那里进行提醒
由于这是客户端,我建议使用window.location.hash
,如
在当前页面上:
<script>
document.write('<a href="next_page.html#' + prompt('What is 2x10?') + '">Next page</a>');
</script>
在下一页:
<script>
var num1 = window.location.hash.substr(1); // To get rid of the #
if(num1 == '20')
{
alert("Nice Job!");
}
else
{
alert("Oh well, try again.");
}
</script>