2015-09-21 161 views
0

我想通过onclick函数在文件夹中的两个图像之间切换。目前我的代码不会切换图像,我没有控制台错误,所以我不知道为什么切换没有发生。我的文件夹看起来像这样:通过onclick问题切换图像javascript

program-01 
    program01.index 
    program01javascript 
     program01script.js 
    program01css 
    images 
     LightOff.png 
     LightOn.png 

HTML

<div> 
    <img src="images/LightOff.png" id="light" onclick="DateTime(); imageSwap();" /> 
    <p id="date_time"></p> 
</div> 

的Javascript

function imageSwap(){ 
    var img = document.getElementById("light") ; 
    if (img.src == "images/LightOff.png"){ 
     img.src = "images/LightOn.png"; 
    } else { 
     img.src = "images/LightOff.png"; 
    } 
} 

我相信它有一些与我的文件路径,或事做与.src属性,但不确定问题是什么。

+0

尝试在开始处添加反斜杠图片网址。 ''/images/LightOff.png“'和'”/images/LightOn.png“' – Brian

+0

当页面加载时,它是否加载'LightOff.png'? – Sachin

+0

@Sachin yes当页面加载时显示图像 – kronis72

回答

0

这个怎么样?

img.src将返回绝对URL,我建议你用标志,而不是像src

var status = false; 
function imageSwap() { 
    var img = document.getElementById("light"); 
    if (!status) { 
     img.src = "images/LightOn.png"; 
     status = true; 
    } else { 
     img.src = "images/LightOff.png"; 
     status = false; 
    } 
} 

或做它自己的方式打球,使用getAttribute

function imageSwap(){ 
    var img = document.getElementById("light") ; 
    if (img.getAttribute('src') == "images/LightOff.png"){ 
     img.src = "images/LightOn.png"; 
    } else { 
     img.src = "images/LightOff.png"; 
    } 
}