1

我不确定标题是否能很好地解释它,但我试图让它保持简短!

因此,我在页面周围散布了许多图像,并为它们创建了一个灯箱画廊(.cboxElement 是调用它的类)。我想添加的是对受灯箱影响的每个图像的悬停效果,以便用户知道它可以缩放。

问题:

我没有为网站编写原始代码,这是一个新功能。由于图像之间的类不一致,我不得不在每个图像之前添加一个标签,并使用一个唯一的类来引用悬停方法,如下所示:

    $("a.cboxElement").each(function(){
        $(this).prepend("<span class='zoom'></span>");
    });

紧接着,我使用了悬停效果:

    $("a.cboxElement").hover(function(){
        $("a.cboxElement span").fadeIn('fast');
    },
    function(){
        $("a.cboxElement span").fadeOut('fast');
    });

问题是当我将鼠标悬停在页面上的图像上时,悬停效果同时出现在每个图像上,我无法弄清楚如何让它只影响我悬停的图像。

有人对我能做什么有任何想法吗?

非常感谢,

乔恩

4

4 回答 4

3

我认为您只需要更改悬停分配的范围:

$("a.cboxElement").hover(function(){
    $(this).find("span").fadeIn('fast');
},
function(){
    $(this).find("span").fadeOut('fast');
});

您的原始代码是说:对于 each a.cboxElement,找到所有a.cboxElement元素span并将它们淡入/淡出。上面的代码说,对于 each a.cboxElement,在悬停时,找到spanfor并将 a.cboxElement淡入/淡出。

于 2011-08-26T13:41:31.637 回答
1

此外,您可以使用.fadeToggle单个函数:

$("a.cboxElement").hover(function(){
    $(this).find("span").fadeToggle("fast");
});
于 2011-08-26T13:44:38.850 回答
0

为每个图像分配一个id="..."属性并选择它而不是整个a.cboxElement类:

<img id="imageid1" ... >
$('#imageid1')....
于 2011-08-26T13:40:40.007 回答
0
$("a.cboxElement").hover(function(){
    $(this).find('span:first').fadeIn('fast');
},
function(){
    $(this).find('span:first').fadeOut('fast');
});
于 2011-08-26T13:41:41.620 回答