我正在创建一个网站,其中有35个网页播放歌曲。然后我在页面上有4个可能的答案,当你点击它们中的任何一个时,它会随机带你到我的另一个页面。但是我希望它只去每个页面,当它经历了所有这些时它应链接到新页面。任何人都可以帮助我吗?
使用Javascript:
function myFunction() {
var no=Math.floor((Math.random() * 35) + 1)
window.location.href = "Sang"+no+".html";}
所以我改变了javascript。现在它更简单了。
我的一个网页:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Gæt en sang</title>
<link rel="stylesheet" type="text/css" href="main.css">
<script src="Test.js"></script>
</head>
<body>
<audio class="hidden" controls autoplay>
<source src="horse.ogg" type="audio/ogg">
<source src="pokemon.mp3" type="audio/mpeg">
</audio>
<div id="header">
<h2> Gæt sangen og hejs flagstangen!</h2>
</div>
<div id="left">
<ul> Hvilken sang er dette?
</br>
<button type="button" onclick="myFunction()">
<li> World we must defend </li>
</button>
</br>
<button type="button" onclick="myFunction()">
<li> Pokemon theme</li>
</button>
</br>
<button type="button" onclick="myFunction()">
<li> Gotta Catch 'em All<li>
</button>
</br>
<button type="button" onclick="myFunction()">
<li> You teach me i teach you <li>
</button>
</ul>
</div>
</div>
<p id="Test"></p>
</body>
</html>
答案 0 :(得分:1)
请不要杀死JavaScript。
您的代码存在很多问题。
您需要使用(Math.random() * 36)
作为Sebastien C.建议发表评论:
var no=Math.floor((Math.random() * 36) + 1)
window.location.href = "Sang"+no+".html";
最好先制作一个干净的逻辑。然后尝试应用它。
答案 1 :(得分:1)
不知何故,您需要保留已访问页面的列表。有很多方法。您可以使用cookie或本地存储甚至数据库。最简单的方法是在每次访问后将查询字符串附加到URL。一个可能的例子:
window.location.href = 'sang3.html?visited=sang1,sang2,sang3';
答案 2 :(得分:0)
首先,你需要在列表中定义它们,如
var pages = ['sang1.html', 'sang2.htm', ...]
比调用随机:
var page = Math.floor((Math.random() * pages.length) + 1)
window.location.href = pages[page]
pages.splice(page) // remove page from array