我的问题是关于如何为学校项目创建旅行目的地生成器(类似于此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>
答案 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语句根本不会执行,只有在加载页面时才会执行,而不是在单击按钮时。