jQuery中的悬停功能不起作用

时间:2015-04-17 11:00:57

标签: jquery hover

我有四个 li div ,其中包含图片链接(所以他们是四个链接和四个图片 ),但我无法理解为什么悬停功能在这里不起作用。

错误是:

  

element.hover不是函数:

var element =$("li div")
var element_link = element.find("a");
var element_img = element.find("img");
element_img.css("opacity","0.5");
element_link.each(function(index, element) {
    element.hover(
    function(){element_img[index].animate({opacity:1}),250},
    function(){element_img[index].animate({opacity:0.5}),250}
    );
});

如何解决此问题?

2 个答案:

答案 0 :(得分:3)

您不需要在jQuery元素集合上使用each()。您只需使用以下代码将悬停应用于所有element_link s:

element_link.hover(
  function(){$(this).siblings('img').animate({opacity:1}),250},
  function(){$(this).siblings('img').animate({opacity:0.5}),250}
);

答案 1 :(得分:3)

我这样解决了:

var element =$("li div");
var element_link = element.find("a");
var element_img = element.find("img");
element_img.css("opacity","0.5");

element_link.each(function(index, element) {
    $(element).hover(
   function(){$(element_img[index]).animate({opacity:1},250)},
   function(){$(element_img[index]).animate({opacity:0.5},250)}
);
});

感谢Wolf和Amit(动画函数也有错误)。