2015-07-19 3 views
0

Im пытается сделать простую игру, где выбор - иллюзия. У вас есть 4 кнопки для выбора, с севера, с запада на восток и на юг, и onclick. Я хочу, чтобы каждая кнопка генерировала случайное число, используя math.random, а затем используя window.location, чтобы перенести их на эту пронумерованную страницу одним и тем же кликом.Как заменить часть window.location на случайно сгенерированное число?

т. Е. Имеется 100 html-страниц с надписью 1.html, 2.html, 3.html, вплоть до 100.html, вы начинаете на странице 1.html, нажимаете север, случайно сгенерированное число приведет вас к 23.html, щелкните еще раз, 79.html, нажмите еще раз, 3.html и т. Д.

Я знаю, как использовать window.location для перехода на заданную страницу, и я знаю, как сделать math.random, чтобы выбрать число между 1-100, но я не знаю, как свести эти два элемента вместе делай то, что я хочу.

<html> 

<head> 

<script> 
function beginner() 
{ 
document.getElementById("demo1").innerHTML=(Math.floor(Math.random()*100)+1); 
} 

</script> 



</head> 

<body> 

<div id="header" style="clear: both; margin-bottom: 25px;"> 
pick a direction to go 
</div> 

<div id="nav" style="float: left; "> 
<center> 

<input type="button" id="north" value="north" onclick="window.location='demo1';" /> <br /> 

<input type="button" id="west" value="west" onclick="randompage2();" /> 
<input type="button" id="east" value="east" onclick="randompage3();" /> <br /> 

<input type="button" id="south" value="south" onclick="randompage4();" /> 
</center> 
</div> 

</body> 

</html> 
+0

Не работает ли здесь простая конкатенация строк? 'window.location = Math.floor (Math.random() * 100) + 1) + '.html'; ' –

ответ

1

Вы можете объединить с +, чтобы я лично сделал это.

window.location = '/'+Math.floor(Math.random() * 100) + 1+'.html'; 
+0

Большое спасибо! Используя ваш код, а также немного googling, я закончил с window.location.href и * 101, потому что +1 не работал, и URL-адрес не ссылался в его собственную папку. Я использовал страницу 0 в качестве конечной точки, и все страницы работают отлично! – wolfgangpwnz

+0

Рад, что это сработало для вас! – DominicValenciana

0

Теперь лучший способ перенаправления пользователя с JavaScript является window.location.replace() (Потому что он будет инициировать запрос HTTP)

Итак:

window.location.replace("http://example.com/pages/"+(Math.floor(Math.random()*100)+1)+".html") 

Это простая конкатенация. Подробнее о window.location on MDN

Надеюсь, что смогу помочь!

Смежные вопросы