Javascript 按id更改图像
我对JavaScript一无所知。 我需要改变随机点击图像。 这是我的密码。发生了什么? 我想做一个骰子游戏,你掷一个骰子,一个图像值弹出。Javascript 按id更改图像,javascript,html,image,random,numbers,Javascript,Html,Image,Random,Numbers,我对JavaScript一无所知。 我需要改变随机点击图像。 这是我的密码。发生了什么? 我想做一个骰子游戏,你掷一个骰子,一个图像值弹出。 当我点击图片时,我只在屏幕上看到数字变化,但图片只从1.jpg变为6.jpg,仅此而已 HTML <img id="myImage" onclick="changeImage()" src="1.jpg" width="100" height="100"> <p id="pl" ></p> 看到这个了吗 更改您的myF
当我点击图片时,我只在屏幕上看到数字变化,但图片只从1.jpg变为6.jpg,仅此而已 HTML
<img id="myImage" onclick="changeImage()" src="1.jpg" width="100" height="100">
<p id="pl" ></p>
看到这个了吗
更改您的myFunction()
,如下所示
function myFunction() {
var x = Math.floor((Math.random() * 6) + 1);
document.getElementById("pl").innerHTML = x;
return x;
}
您没有将myFunction()
的值返回到pl
,这导致6.jpg
始终显示(因为它总是进入else块)。请参见此
更改您的myFunction()
,如下所示
function myFunction() {
var x = Math.floor((Math.random() * 6) + 1);
document.getElementById("pl").innerHTML = x;
return x;
}
您没有将
myFunction()
的值返回到pl
,这导致6.jpg
始终显示(因为它总是进入else块)。myFunction
没有返回x
,但您正在设置p1=myFunction()
,因此p1
将等于未定义的。添加要修复的返回语句:
function myFunction() {
var x = Math.floor((Math.random() * 6) + 1);
document.getElementById("pl").innerHTML = x;
return x;
}
以下是其他一些要点:
- 您不需要多个
标记。您的所有代码都可以放在一个代码中
标签应位于
或
的内部。
包含除
或
以外的任何内容(尽管它可能仍然有效)是无效的标记
- 不要使用巨大的
if
语句,而是尝试使用开关
- 更妙的是,只需设置
image.src=p1+“.jpg”
。它更容易阅读李>
- 你误以为你打开了标签
否则,看起来您将成为一名优秀的JavaScript开发人员!坚持下去!:) myFunction
没有返回x
,但您正在设置p1=myFunction()
,因此p1
将等于未定义的。添加要修复的返回语句:
function myFunction() {
var x = Math.floor((Math.random() * 6) + 1);
document.getElementById("pl").innerHTML = x;
return x;
}
以下是其他一些要点:
- 您不需要多个
标记。您的所有代码都可以放在一个代码中
标签应位于
或
的内部。
包含除
或
以外的任何内容(尽管它可能仍然有效)是无效的标记
- 不要使用巨大的
if
语句,而是尝试使用开关
- 更妙的是,只需设置
image.src=p1+“.jpg”
。它更容易阅读李>
- 你误以为你打开了标签
否则,看起来您将成为一名优秀的JavaScript开发人员!坚持下去!:) 将pl设置为等于myFunction();。您真正想要的是将pl设置为document.getElementById(“pl”).innerHTML。另外,请确保在changeImage()之前激发myFunction()。在这里,它是在一个JS小提琴工作检查损坏的图像图标,以查看源更改
var pl = document.getElementById("pl").innerHTML;
将pl设置为等于myFunction();。您真正想要的是将pl设置为document.getElementById(“pl”).innerHTML。另外,请确保在changeImage()之前激发myFunction()。在这里,它是在一个JS小提琴工作检查损坏的图像图标,以查看源更改
var pl = document.getElementById("pl").innerHTML;
您需要在代码中做两个小的更正
返回值
return document.getElementById(“pl”).innerHTML=x
使用双引号
var image=document.getElementById(“myImage”) 您需要在代码中做两个小的更正
返回值
return document.getElementById(“pl”).innerHTML=x
使用双引号
var image=document.getElementById(“myImage”)
函数myFunction(){
var x=数学地板((数学随机()*6)+1);
return document.getElementById(“pl”).innerHTML=x;
}
函数changeImage(){
var image=document.getElementById(“myImage”);
var-pl;
pl=myFunction();
如果(pl==1){
image.src=“1.jpg”;
}否则如果(pl==2){
image.src=“2.jpg”;
}否则如果(pl==3){
image.src=“3.jpg”;
}否则如果(pl==4){
image.src=“4.jpg”;
}否则如果(pl==5){
image.src=“5.jpg”;
}否则{
image.src=“6.jpg”;
}
}
函数myFunction(){
var x=数学地板((数学随机()*6)+1);
return document.getElementById(“pl”).innerHTML=x;
}
函数changeImage(){
var image=document.getElementById(“myImage”);
var-pl;
pl=myFunction();
如果(pl==1){
image.src=“1.jpg”;
}否则如果(pl==2){
image.src=“2.jpg”;
}否则如果(pl==3){
image.src=“3.jpg”;
}否则如果(pl==4){
image.src=“4.jpg”;
}否则如果(pl==5){
image.src=“5.jpg”;
}否则{
image.src=“6.jpg”;
}
}
运行此操作时会发生什么?我只在单击图像时在屏幕上看到数字更改,但图像仅从1.jpg更改为6.jpg,仅此而已。在函数中返回x运行此操作时会发生什么?我只在单击图像时在屏幕上看到数字更改,但图像仅从1.jpg更改为6.jpg,仅此而已function@LakyJ如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。快乐编码@LakyJ,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。快乐编码!