如何在javascript中创建一个随机化器,它将重定向到一个随机网页?

时间:2018-05-14 19:31:46

标签: javascript html

我的问题是关于如何为学校项目创建旅行目的地生成器(类似于此https://travelsp.in/),但我的HTML一直存在重定向到其他网页的问题。这是我的js:

var place = ['sydney', 'calgary', 'london'];
function differentPlace() {
var randomNumber= Math.floor(Math.random()*(place.length));
document.getElementById('placeDisplay').innerHTML=place[randomNumber];
}
if (placeDisplay=="calgary") {
 return window.location.href = "http://ide50-w.cs50.io:8080/calgary";
  }
else if (placeDisplay=="london") {
  return window.location.href = "http://ide50-w.cs50.io:8080/london";
}
  else if (placeDisplay=="sydney") {
  return window.location.href = "http://ide50-w.cs50.io:8080/sydney";
 }

我的html是:

 <body>
     <h2>Discover a new destination:</h2>
<div id="placeDisplay">
    </div>
    <button onclick="differentPlace()">Find your next journey!</button>
    <script src="javascript.js"></script>
 </body>

2 个答案:

答案 0 :(得分:2)

以下是一个示例:

<select onChange={this.handleSelectChange}>
  <option data-tag="red">Value1</option>
  <option data-tag="blue">Value2</option>
  <option data-tag="green">Value3</option>
</select>

答案 1 :(得分:1)

嗯,你的代码有点混乱,试试吧:

let place = ['sydney', 'calgary', 'london'];

function differentPlace() {
    let randomNumber= Math.random() * (Places.length);
    let randomPlace = place[randomNumber];
    document.getElementById('placeDisplay').innerHTML= randomPlace;
    return window.location.href = `http://ide50-w.cs50.io:8080/${randomPlace}`;
}

单击时,唯一执行的是函数内部,因此ifs语句根本不会执行,只有在加载页面时才会执行,而不是在单击按钮时。