首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MouseHover on image jquery

MouseHover on image jquery
EN

Stack Overflow用户
提问于 2013-10-09 23:23:10
回答 2查看 63关注 0票数 0

请原谅我的英语不好,我用的是翻译器,我用的是帮助:)

我有一个问题,脚本很好,我想要的问题是,只要鼠标离开图像2-3-4就会留下图像(2-3-4),而不是最初的图像

代码语言:javascript
运行
复制
    <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>
EN

回答 2

Stack Overflow用户

发布于 2013-10-09 23:37:28

与使用这么多if语句不同,您只需编写如下代码:

代码语言:javascript
运行
复制
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;}
     }
}
票数 0
EN

Stack Overflow用户

发布于 2013-10-10 04:43:28

您需要做的是更改这一行:

代码语言:javascript
运行
复制
images[i]. onmouseout = function (evt) { clearInterval (changetimer); }

这样它就可以撤消change函数所做的任何事情。所以就像这样。

imagesi。onmouseout =函数(evt) { clearInterval (更改定时器);changeBack(此);}

其中,changeBack是一个与change函数相反的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19276148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档