jquery在翻转时更改图像src

时间:2014-08-05 10:41:18

标签: jquery image src

我有两张图片及其翻转图片。使用jQuery,我想在onmousemove / onmouseout事件发生时显示/隐藏翻转图像。我的所有图像名称都遵循相同的模式,如下所示:

Original Image: /CompleteEducation/images/icons/toggleIcon.png

Rollover Image: /CompleteEducation/images/icons/toggleIconDisabled.png

我使用了以下代码,但此代码覆盖了名称:

$(function() {
    $("img")
        .mouseover(function() { 
            var src = $(this).attr("src").match(/[^\.]+/) + "toggleIconDisabled.png";
            $(this).attr("src", src);
        })
});

我怎样才能使用jQuery?

3 个答案:

答案 0 :(得分:0)

您说在每次鼠标悬停时,检查当前图像的属性SRC是否包含您喜欢的文件名。如果是,那么你改变了来源。如果它们错了,你可以替换我的样本字符串。

我的Html:

<img src='http://velocityagency.com/wp-content/uploads/2013/08/go.jpg' width='500' >

我的JS:

//确保已将代码放入Document.ready中 $(文件)。就绪(函数(){

    $("img").on("mouseenter", function(){


    if($(this).attr("src").indexOf("go.jpg") !== -1) // we check if the path contains the name of the image at all
    {
       var att = $(this).attr("src"); // we then pull the src attr
       att = att.replace("go.jpg", "iPAd.jpg"); //and search for the filename and replace new file name

       // in the end we assign the new imagepath to the src of the hovered image
       $(this).attr("src", att);
    }
});
});

检查这个小提琴或上面的代码:

http://jsfiddle.net/F72h3/

答案 1 :(得分:0)

您可以使用条件运算符

更改图像
$(function() {
    $("img")
        .mouseover(function() { 
            this.src = this.src.indexOf('Disabled.png') == -1 ?
               '/CompleteEducation/images/icons/toggleIconDisabled.png' :
               '/CompleteEducation/images/icons/toggleIcon.png';
        })
});

答案 2 :(得分:0)

我认为问题在这里

 var src = $(this).attr("src").match(/[^\.]+/) + "toggleIconDisabled.png"; //this will return "/CompleteEducation/images/icons/toggleIcontoggleIconDisabled.png"

试试这个

var src = ($(this).attr("src").indexOf("Disabled")>-1)?"/CompleteEducation/images/icons/toggleIcon.png":"/CompleteEducation/images/icons/toggleIconDisabled.png";