Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置image src的变量并在javascript函数中使用?_Javascript_Image_If Statement_Variables_Src - Fatal编程技术网

如何设置image src的变量并在javascript函数中使用?

如何设置image src的变量并在javascript函数中使用?,javascript,image,if-statement,variables,src,Javascript,Image,If Statement,Variables,Src,如果我有这样的代码 If(sceneA){document.getElementById("divA").src="A.png";} If(document.getElementById("divC")=="A.png"){document.getElementById("divB").src="B.png";}//And alot of codes here 如何使用va

如果我有这样的代码

If(sceneA){document.getElementById("divA").src="A.png";}
 If(document.getElementById("divC")=="A.png"){document.getElementById("divB").src="B.png";}//And alot of codes here
如何使用var来缩短字符串,如

document.getElementById(“divA”).src=“A.png” document.getElementById(“divB”).src=“B.png”

所以我可以在(IF)和{function}中使用它们

因为他们必须在代码中重复好几次


非常感谢

这正是函数的用途。 定义用于重复代码块的函数,如下所示:

function setSrc(divName, imgName){
    document.getElementById("div"+divName).src = imgName+".png";
}

function srcEquals(divName, imgName){
    return (document.getElementById("div"+divName).src == imgName+".png");
}
然后,您可以将代码替换为以下内容:

if(sceneA){setSrc("A","A");}
if(srcEquals("C", "A")){setSrc("B","B");}

将DOM元素分配给变量
var divA=document.getElementById(“divA”)
。然后你可以使用
If(sceneA){divA.src='A.png'}
,这很好,尽管我必须用这种方法在变量中设置很多div。还有很多很多的感谢,和那些被否决的人相比(哇,这太聪明了!这是否意味着我可以在if和function中使用setsrc和srcequals,反之亦然?谢谢你没有投反对票,并理解我的需要,然后提交了一个很好的答案。我是一个基本的初学者,从来没有想过这个好方法,这就是为什么我问了一个问题。非常感谢!是的,你可以在任何地方使用它们。我在问题中看到的代码的一个问题是这一行:document.getElementById(“divC”)=“A.png”。我想你是想写document.getElementById(“divC”).src==“A.png”。但它仍然无法工作,因为.src将提供src映像的完整路径。如果你碰到了这个问题,你应该再发一个关于这个问题的问题。