2012-06-26 3 views
2

У меня есть три изображения: первый - это выключатель света, второй - «выключенная» лампочка, а третья - «на» лампочке. Когда пользователь нажимает на изображение переключателя света, я хотел бы, чтобы он изменил изображение «выключенной» лампочки в «лампочку» на лампе «включено». Это возможно?Onmouseclick изменить другое изображение

Это изображения:

switchoff light bulbon light bulb

Javascript:

img2=new Image(); 
img2.src="images/RCS/lightbul2-250.gif"; 
img3=new Image(); 
img3.src="images/RCS/lightbuld1.gif"; 

function changeImage() { 
    document.getElementById('myImage').src=img2.src; 
} 
function changeImage2() { 
document.getElementById('myImage').src=img3.src; 
} 

HTML:

<img id="myImage" onmouseover="changeImage()" onmouseout="changeImage2()" border="0" width="250" height="141" src="images/RCS/lightbulb1-100.gif"> 
+4

Да, что у вас есть до сих пор? – jeroen

+0

Код, добавленный выше – user1471646

+0

Просто голова - для этого намного проще использовать JQuery. – Danny

ответ

1

You также может добиться этого без JQuery, используя инструкции if/else.

HTML Markup:

<a href="#" onClick="changeImage()"><img src="lightSwitch.jpg"></a> 
<img id="myImage" src="lightOff.jpg"> 

Javascript:

function changeImage() { 
    if(document.getElementById('myImage').src == 'lightOff.jpg') { 
     document.getElementById('myImage').src = 'lightOn.jpg'; 
    } else if(document.getElementById('myImage').src == 'lightOn.jpg') { 
     document.getElementById('myImage').src = 'lightOff.jpg'; 
    } 
} 

JS Fiddle Example

2

Вы можете добиться этого с JQuery

$(document).ready(function(){ 
    $('#switch').click(function(){ 
      $('#bulb').attr('src', 'bulbOn.jpg'); 
    }); 
}); 

Просто дайте изображению вашего переключателя идентификатор «переключателя», а изображение оригинальной лампы - «колба».

1

Да, просто прикрепить класс к Lightswitch изображения и сделать что-то вроде этого:

HTML MARKUP:

<img src="http://i.stack.imgur.com/wLSuu.gif" class="lightswitch"> 

<div id="container"> 
<div id="bulb" class=""></div> 
</div> 

CSS:

.toggle-off { display: none; } 

#bulb { height: 100%; width: 100%; background: url('http://i.stack.imgur.com/l9EOR.gif')  
center center no-repeat; } 

.bulb-on { background: url('http://i.stack.imgur.com/TnKyp.gif') center center no-repeat 
!important; } 

.lightswitch { float: left; } 

.clear { clear: both; } 

#container { width: 300px; height: 300px; float: right; } 

затем использовать Jquery:

$('.lightswitch').click(function() { 
    $('#bulb').toggleClass('bulb-on'); 
});​ 

В основном, что это делает: после щелчка на кнопке с подсветкой, он проверяет, имеет ли идентификатор BULB класс «лампочка». Если это не так, оно добавляет его. Если это так, он удаляет его.

Вы также можете стилизовать LightSwitch так, что у него есть руки курсор, как будто это ссылка, например, так:

.lightswitch { cursor: hand; cursor: pointer; } 

JS FIDDLE ЗДЕСЬ:

http://jsfiddle.net/SDRQU/

+0

Единственная проблема, которую я вижу с ответом Дэнни выше, заключается в том, что он не позволит вам ПРОДОЛЖИТЬ свет, который я не верю. Это решение выше включит и выключит лампочку. Если это то, что вы пытаетесь, это решение. Вероятно, есть немного более чистый способ сделать это, но это работает. –

+0

Спасибо за быстрый ответ, я сейчас установил это, однако лампочка не отображается на веб-странице, только световой индикатор? – user1471646

+0

Сейчас я делаю JSFiddle. Я свяжу его здесь, когда закончим. –

0
<script type="text/javascript"> 
function altsrcImg(cnImage) { 
    var src = document.getElementById(cnImage).src; 
    var alt = document.getElementById(cnImage).alt; 
    document.getElementById(cnImage).src = alt; 
    document.getElementById(cnImage).alt = src; 
} 
</script> 
<img id="cnImage" src="TnKyp.gif" alt="l9EOR.gif"><br> 
<img id="cnImage" onClick="altsrcImg(this.id)" src="wLSuu.gif"> 

Я использую общую JavaScript, который я написал, чтобы переключаться между изображением указанного в ГКЗ и другой, указанный в качестве чередующийся

Приведенный выше сценарий работает. See this.

Однако, если я изменю порядок изображения, он не работает. Возможно, потому что теперь есть два src, связанных с id="cnImage". Я все еще изучаю основы JavaScript.

Смежные вопросы