javascript - 图片不会改变 HTML
问题描述
自从我使用 html 并尝试制作一个简单的掷骰子网站以来已经有一段时间了。但是,在我按下指定按钮后,文本文件中的图像不会改变。我已经尝试了我能想到的一切,并且花了 5 多个小时试图弄清楚它为什么会起作用。
<html>
<h1>Dice roller</h1>
<p>Roll a dice to recieve a reward base on your roll.</p>
<script>
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var dieroll = 0;
function roll(){
var image = document.getElementById("dice");
dieroll = getRandomInt(1,6);
document.getElementById("result").innerHTML = dieroll;
if (dieroll==1){
image.src="1die.jpg";
} else {
if (dieroll ==2){
image.src="2die.jpg";
}
} else {
if (dieroll==3){
image.src="3die.jpg";
}
} else {
if (dieroll==4){
image.src="4die.jpg";
}
} else {
if (dieroll==5){
image.src="5die.jpg";
}
} else {
if (dieroll==6){
image.src="6die.jpg";
}
}
}
</script>
<body>
<button onclick="roll()">Click me to roll</button>
</body>
<h2>The value for your roll is: <div id="result"></div></h2>
<div>
<img src="https://th.bing.com/th/id/OIP.a84-UisZ9wZzwQZdXumxTgHaHV?w=174&h=180&c=7&o=5&pid=1.7" id="dice" width="100" height="100">
</div>
</html>
此外,我尝试使用文件名的图像输入正确,原始图像看起来很好,只是改变它是行不通的。
解决方案
它不起作用的原因是因为您嵌套的 if-else 语句太混乱了。这是使用switch
案例的更好方法。
您可以检查以查看变化src
:
工作片段:
<html>
<h1>Dice roller</h1>
<p>Roll a dice to recieve a reward base on your roll.</p>
<script>
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var dieroll = 0;
function roll() {
var image = document.getElementById("dice");
dieroll = getRandomInt(1, 6);
document.getElementById("result").innerHTML = dieroll;
switch (dieroll) {
case 1:
image.src = "1die.jpg";
break;
case 2:
image.src = "2die.jpg";
break;
case 3:
image.src = "3die.jpg";
break;
case 4:
image.src = "4die.jpg";
break;
case 5:
image.src = "5die.jpg";
break;
case 6:
image.src = "6die.jpg";
}
}
</script>
<body>
<button onclick="roll()">Click me to roll</button>
</body>
<h2>The value for your roll is:
<div id="result"></div>
</h2>
<div>
<img src="https://th.bing.com/th/id/OIP.a84-UisZ9wZzwQZdXumxTgHaHV?w=174&h=180&c=7&o=5&pid=1.7" id="dice" width="100" height="100">
</div>
</html>
推荐阅读
- python - Pyinstaller Kivy app ValueError: no enough values to unpack (expected 3, got 2)
- python - 绝对导入可以提供相对(包内)导入的所有功能吗?
- java - java spring boot中是否必须使用@entity注解不使用args构造函数?
- wordpress - Wordpress 如何查询多个自定义帖子类型
- angular - 如何使用引导程序 5 在 Angular 12 中创建多级下拉菜单?
- javascript - 使用 XPath 遍历 XML 文档而不打印重复项
- response - Azure 逻辑应用返回多个响应
- mysql - Mysql JSON 输出使用 json_object
- javascript - 在发送服务之前修改角度数据
- sql - 将 SQL 代码连接到 Power BI 的问题