我编写了这段代码,可以在您向其添加“ simplehover”类的任何图像上产生滚动悬停效果:

    //rollover effect on links
    $(".simplehover").mouseover(function () {
        $(this).attr("src", $(this).attr("src").replace("-off.", "-on."));
    }).mouseout(function () {
        $(this).attr("src", $(this).attr("src").replace("-on.", "-off."));
    });

<img src="slogan.gif" class="simplehover" />


我想让它工作,如果您将类'simplehover'添加到周围的元素:中。 (对于ASP.net asp:HyperLink标记特别有用,该标记会在超链接内自动生成IMG标记。

<a href="#" class="simplehover"> <img src="slogan.gif" /> </a>


如果我将选择器更改为:$(“。simplehover img”),它将起作用,但是在senario#1中将不再起作用。

我尝试了这个,但是没有运气:

$(".simplehover").mouseover(function () {
if ($(this).has('img')) { $(this) = $(this).children(); }
...


任何人都可以弄清楚吗?

Montreal Web Design

最佳答案

您可以结合使用hover()方法和multiple selector进行重构。

$("a.simplehover img, img.simplehover").hover(function () {
    $(this).attr("src", $(this).attr("src").replace("-off.", "-on."));
}, function() {
    $(this).attr("src", $(this).attr("src").replace("-on.", "-off."));
});

<img src="slogan.gif" class="simplehover" />

07-24 22:04