悬停和onClick图像交换

时间:2013-07-02 16:26:42

标签: javascript jquery html

我有5个不同的图像用作锚点。我希望在悬停时替换图像并在整个点击操作中保留该图像。然后保留该新图像,直到单击具有相同类的另一个图像。我不确定如何实现这个功能。守则如下。提前谢谢你们。

HTML

 <img class="year" id="yr60" src="/images/1960-a.jpg" style="height:24px;margin-left:132px;position:relative;top:-150px;width:96px;" /> 
 <img class="year" id="yr70" src="/images/1970-a.jpg" style="height:24px;margin-left:55px;position:relative;top:-150px;width:96px;" /> 
 <img class="year" id="yr80" src="/images/1980-a.jpg" style="height:24px;margin-left:55px;position:relative;top:-150px;width:96px;" /> 
 <img class="year" id="yr90" src="/images/1990-a.jpg" style="height:24px;margin-left:55px;position:relative;top:-150px;width:96px;" /> 
 <img class="year" id="yr20" src="/images/2000-a.jpg" style="height:24px;margin-left:55px;position:relative;top:-150px;width:96px;" /> 

每个的悬停图片都是src =“/ images / 1960-h.jpg”| src =“/ images / 1970-h.jpg”| src =“/ images / 1980-h.jpg”等。

3 个答案:

答案 0 :(得分:1)

您可以使用src attr()

each loop中,您可以更改src

$(document).ready(function(){
 $("img")
        .mouseover(function() { 
            $(this).attr("src", "newSrc");
        });
        .mouseout(function() {
            $(this).attr("src", "OldSrc");
        });});

答案 1 :(得分:1)

我只是做了一次大脑练习,所以即使我知道你并没有完全遵守规则,我希望你能从中得到一些帮助。 http://jsfiddle.net/8GPNP/

function replaceold(sel) {
$(sel).each(function() {
    oldvalue = $(this).attr("src").replace("-h", "-a");
    $(this).attr("src", oldvalue);
});
}
$("img").on("mouseenter",function(e) {
   newvalue = $(this).attr("src").replace("-a", "-h");
   $(this).attr("src", newvalue);
});

$("img").on("click",function() {
    $("img").removeClass("selected");
    $(this).addClass("selected");
});

$("img").on("mouseleave",function() {
    //reset all src
    replaceold('img:not(.selected)');
});

答案 2 :(得分:0)

你可以用css解决这个问题

img.year:before {
    content: '';
}
img.year:hover, img.year:active, img.year:focus {
    content: '';
}
img#yr60:hover:before, img#yr60:active:before, img#yr60:focus:before {
    content: url("/images/1960-h.jpg");
}
img#yr70:hover:before, img#yr70:active:before, img#yr70:focus:before {
    content: url("/images/1970-h.jpg");
}
img#yr80:hover:before, img#yr80:active:before, img#yr80:focus:before {
    content: url("/images/1980-h.jpg");
}
img#yr90:hover:before...

这样的事情应该有用。