Извините плохой английский Я использую переводчика и я за помощь :)
У меня проблема, сценарий отлично подходит для того, что я хочу, чтобы проблема, что как только мышь покинет изображение2-3-4, останется изображение слева (2-3-4) вместо начального
<script type="text/javascript">
var changetimer;
function change (id) {
clearInterval (changetimer);
function swap() {
if ( id.src.match ( " images/img1.jpg ")) { = id.src id.src.replace ( " images/img1.jpg ", " images/img2.jpg ") return false; }
if ( id.src.match ( " images/img2.jpg ")) { = id.src id.src.replace ( " images/img2.jpg ", " images/img3.jpg ") return false; }
if ( id.src.match ( " images/img3.jpg ")) { = id.src id.src.replace ( " images/img3.jpg ", " images/img4.jpg ") return false; }
if ( id.src.match ( " images/img4.jpg ")) { = id.src id.src.replace ( " images/img4.jpg ", " images/img1.jpg ") return false; }
}
changetimer = setInterval ( Swap , 1500 ) ;
}
window.onload = function () {
var images = document.getElementsByTagName('img');
for (var i = 0; i < images.length ; i + +) {
images[i]. onmouseover = function (evt) { change (this) ;}
images[i]. onmouseout = function (evt) { clearInterval (changetimer); }
}
}
</script>
Что вам нужно сделать, это изменить эту строку:
images[i]. onmouseout = function (evt) { clearInterval (changetimer); }
Так что он отменяет все функции change
. Так что-то вроде этого.
Изображения [I]. onmouseout = function (evt) {clearInterval (changetimer); changeBack(this); Changeback (это); } }
Где changeBack
- это функция, которая делает противоположную функцию change
.
Вместо того, чтобы использовать столько утверждений if, вы могли бы просто написать что-то вроде этого:
var array = [];
var images = document.getElementsByTagName ( ' img ');
for (var i=0;i<images.length;i++) {
array[i] = i;
images[i].onmouseover = function () {
var timer = setInterval(function(){
array[i]+= 1;
this.src="images/img"+array[i]+".jpg";
},1500);
this.onmouseout = function () { clearInterval (timer); this.onmouseout=null;}
}
}
onmouseout
не меняет изображение обратно. Изображение изменяется с помощьюonmouseover
а затем никогда не возвращается в исходное состояние.