比较 Javascript 中的 2 个图片来源
Comparing 2 Image's sources in Javascript
我正在尝试比较 2 张图片,看它们是否相同。我对此做了很多研究,但无法得出有效的结论。这是我现在拥有的示例:
var image1 = document.getElementById('imgId1');
var image2 = document.getElementById('imgId2');
if(image1.src.match(image2.src)) { <---This seems to only work w/ a string
//do whatever here
}
我还尝试了其他方法,例如:
if(image2.src.indexOf(image1.src)!= -1)
{
//do whatever here
}
和
if(image2.src == image1.src)
{
}
和
if(image2.src === image1.src)
{
}
我试过使用单引号、双引号、不加引号。我以前没有用过 Javascript class,所以这种比较对我来说是新的。任何帮助都会很棒,谢谢。
完整代码 --
<script language="javascript">
function changeImage1() {
var num = Math.floor((Math.random() * 48) + 1);
var n = num.toString();
var numImg = n.concat(".jpeg");
var string = "/blah/blah/"
var final = string.concat(numImg);
var image = document.getElementById('imgClickAndChange1');
var image2 = document.getElementById('imgClickAndChange2');
if(image.src.match("blah.jpg")) {
var num2 = Math.floor((Math.random() * 48) + 1);
var n2 = num2.toString();
var numImg2 = n2.concat(".jpeg");
var final2 = string.concat(numImg2);
image2.src = final2;
image.src = final;
if(image2.src == image.src){
num2 = Math.floor((Math.random() * 48) + 1);
n2 = num2.toString();
numImg2 = n2.concat(".jpeg");
final2 = string.concat(numImg2);
image2.src = final2;
}
} else {
image.src = final;
if(image.src == image2.src){
num = Math.floor((Math.random() * 48) + 1);
n = num.toString();
numImg = n.concat(".jpeg");
final = string.concat(numImg);
image.src = final;
}
}
}
我意识到在第 2 rand 之后图像仍然有很小的机会是相同的。 -- 脚本仍然会在第一遍中放置相同的图像
双等号“==”应该没问题。当它看不到发生了什么时,尝试输出值。
if(image2.src == image1.src)
{
}
else
{
console.log([image2.src, image1.src]);
alert("They did not match because 1 is " + image1.src + " and 2 is " + image2.src);
}
我正在尝试比较 2 张图片,看它们是否相同。我对此做了很多研究,但无法得出有效的结论。这是我现在拥有的示例:
var image1 = document.getElementById('imgId1');
var image2 = document.getElementById('imgId2');
if(image1.src.match(image2.src)) { <---This seems to only work w/ a string
//do whatever here
}
我还尝试了其他方法,例如:
if(image2.src.indexOf(image1.src)!= -1)
{
//do whatever here
}
和
if(image2.src == image1.src)
{
}
和
if(image2.src === image1.src)
{
}
我试过使用单引号、双引号、不加引号。我以前没有用过 Javascript class,所以这种比较对我来说是新的。任何帮助都会很棒,谢谢。
完整代码 --
<script language="javascript">
function changeImage1() {
var num = Math.floor((Math.random() * 48) + 1);
var n = num.toString();
var numImg = n.concat(".jpeg");
var string = "/blah/blah/"
var final = string.concat(numImg);
var image = document.getElementById('imgClickAndChange1');
var image2 = document.getElementById('imgClickAndChange2');
if(image.src.match("blah.jpg")) {
var num2 = Math.floor((Math.random() * 48) + 1);
var n2 = num2.toString();
var numImg2 = n2.concat(".jpeg");
var final2 = string.concat(numImg2);
image2.src = final2;
image.src = final;
if(image2.src == image.src){
num2 = Math.floor((Math.random() * 48) + 1);
n2 = num2.toString();
numImg2 = n2.concat(".jpeg");
final2 = string.concat(numImg2);
image2.src = final2;
}
} else {
image.src = final;
if(image.src == image2.src){
num = Math.floor((Math.random() * 48) + 1);
n = num.toString();
numImg = n.concat(".jpeg");
final = string.concat(numImg);
image.src = final;
}
}
}
我意识到在第 2 rand 之后图像仍然有很小的机会是相同的。 -- 脚本仍然会在第一遍中放置相同的图像
双等号“==”应该没问题。当它看不到发生了什么时,尝试输出值。
if(image2.src == image1.src)
{
}
else
{
console.log([image2.src, image1.src]);
alert("They did not match because 1 is " + image1.src + " and 2 is " + image2.src);
}