鼠标悬停时,仅使用jQuery淡化(降低不透明度)图像

时间:2011-02-12 19:50:39

标签: jquery

我希望在悬停时将图像的不透明度调为一半(并在光标不再悬停时将其恢复正常)。

我只能成功制作所有图像fadeTo,但当鼠标移出时,图像仍然褪色(所有图像都褪色。我只是光标下的图像褪色)。

有什么建议吗?

代码:

    /**
     * Opacity animation of blocks
     */
     $j('#content div a').hover(function() {
         $j('#content div a img').fadeTo('slow', 0.5, function() {
});

2 个答案:

答案 0 :(得分:3)

使用.hover你需要有两个函数,一个用于鼠标悬停,另一个用于鼠标左键。

$j('#content div a img').hover(
    function() {
         $j(this).stop().fadeTo('slow', 0.5);
    },
    function(){
        $j(this).stop().fadeTo('slow', 1);
    }
);

我还添加了一个停止点,因为否则当多次悬停时会出现奇怪的闪烁。

示例 http://jsfiddle.net/5fJ3H/

答案 1 :(得分:1)

第一件事是您应该在悬停的a内使用搜索,因此您应该使用this作为开头,然后使用finddocs方法查看它。

第二件事是你需要hoverdocs的第二个处理程序,所以你将不透明度重置为1,将其悬停在外。

$j('#content div a').hover(
   function() {
         $j(this).find('img').fadeTo('slow', 0.5);
  },
   function() {
         $j(this).find('img').fadeTo('slow', 1);
  }
);