请原谅我的英语不好,我用的是翻译器,我用的是帮助:)
我有一个问题,脚本很好,我想要的问题是,只要鼠标离开图像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>
发布于 2013-10-09 23:37:28
与使用这么多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;}
}
}
发布于 2013-10-10 04:43:28
您需要做的是更改这一行:
images[i]. onmouseout = function (evt) { clearInterval (changetimer); }
这样它就可以撤消change
函数所做的任何事情。所以就像这样。
imagesi。onmouseout =函数(evt) { clearInterval (更改定时器);changeBack(此);}
其中,changeBack
是一个与change
函数相反的函数。
https://stackoverflow.com/questions/19276148
复制相似问题