使用if-else的Javascript onclick事件declation

时间:2015-04-11 11:19:53

标签: javascript

我对javascript更新,现在我开始使用javascript。

这是链接(以示例运行):

http://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_lightbulb

在这里,我提出了一个疑问,

  if (image.src.match("bulbon")) {
//do stuff
} 

我可以知道,为什么我们使用“bulbon”是什么?

我尝试了另一个例子,这是我的代码:

<img width="300px" height="300px" src="dim-bulb.jpg" id="bulb" onclick="changebulb()"  alt=bulb"/>
<script>
function changebulb() {

var image=document.getElementById("bulb");
if(image.src.match("bulbon")) {
image.src="dim-bulb.jpg";
}
else {
image.src="bright.jpg";
}
}

当我运行我的代码时,它部分工作,即当我点击时,它会变亮,但我再点击它并没有显示为昏暗..

我可以知道我的错误是什么吗?

提前致谢。

6 个答案:

答案 0 :(得分:2)

在你的if条件

if(image.src.match("bulbon"))

您正在尝试匹配您的gif中的bulbon,而且这两个gif都没有bulbon命名。

应该是

if(image.src.match("bulbon"))
image.src="dim-bulb.jpg";
}
else {
image.src="bulbon.jpg"; }

或者像这样正确检查明亮的图像:

if(image.src.match("bright")) {
image.src="dim-bulb.jpg";
}
else {
image.src="bright.jpg";
}

答案 1 :(得分:1)

  

bulbon =灯泡

下面的代码只检查正在使用的图像是否为灯泡,并用off版本替换图像。

var image = document.getElementById('myImage');

if (image.src.match("bulbon")) {
    image.src = "pic_bulboff.gif";
} else {
    image.src = "pic_bulbon.gif";
}

要修复代码,请将其更改为:

function changebulb() {
    var image=document.getElementById("bulb");

    if(image.src.match("bright")) {
        image.src="dim-bulb.jpg";
    }
    else {
        image.src="bright.jpg";
    }
}

答案 2 :(得分:1)

“bulbon”是文件名pic_bulbon.gif的一部分,但不是pic_bulboff.gif,因此if(image.src.match("bulbon")) {正在测试灯泡当前是否已开启。

它部分有效的原因是因为您重命名了文件 - 让它再次运行,只需将bulbon替换为bright

<img width="300px" height="300px" src="dim-bulb.jpg" id="bulb" onclick="changebulb()"  alt=bulb"/>
<script>
function changebulb() {
   var image=document.getElementById("bulb");
   if(image.src.match("bright")) {
      image.src="dim-bulb.jpg";
   }
   else {
      image.src="bright.jpg";
   }
}

答案 3 :(得分:1)

bulbon是您在看到明亮光线时在图片标记的src中找到的图像名称。

因此,点击它后,您会检查src并将src更改为其他图片,然后说bulboff

您的代码应该是:

function changebulb() {
    // get the element with id 'bulb'
    var image=document.getElementById("bulb");
    // check the src attribute of the image tag
    if(image.src.match("dim-bulb")) {
        image.src="bright.jpg"; // change the src attribute
    } else {
        image.src="dim-bulb.jpg"; // change the src attribute
    }
}

答案 4 :(得分:0)

试试这个:

var image=document.getElementById("bulb");
if(image.src.match("dim-bulb")) {
image.src="bright.jpg";
}
else {
image.src="dim-bulb.jpg";
}

答案 5 :(得分:0)

<img width="300px" height="300px" src="dim-bulb.jpg" id="bulb"  onclick="changebulb()"  alt=bulb"/>
<script>
function changebulb() {

var image=document.getElementById("bulb");
if(image.src.match("dim-bulb.jpg")) {
 image.src="bright.jpg";
}
else {
 image.src="dim-bulb.jpg";
}
}
</script>

我认为这可能是你问题的答案。