Javascript 按id更改图像

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

我对JavaScript一无所知。 我需要改变随机点击图像。 这是我的密码。发生了什么? 我想做一个骰子游戏,你掷一个骰子,一个图像值弹出。
当我点击图片时,我只在屏幕上看到数字变化,但图片只从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,如果这个或任何答案已经解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。快乐编码!