0

我在下面做了一个页面

http://isca01.bigwavemedia.info/~staged2b/about/staff

如您所见,工作人员之间的过滤器有效,但是一旦您切换到新的工作人员组,翻转弹出窗口就不起作用。

这些是头上的两个脚本,但我有一些 css 可以使带有类悬停的图像在翻滚时弹出。

几天来我一直试图解决这个问题,任何帮助将不胜感激。

最诚挚的问候 布伦特法语

4

1 回答 1

1
$(function() {
    $(".imgHover").hover(
        function() {
            $(this).children("img").fadeTo(200, 0.85).end().children(".hover").show();
        },
        function() {
            $(this).children("img").fadeTo(200, 1).end().children(".hover").hide();
        });
})(jQuery);

这就是问题所在。将以上内容更改为:

$(function() {
    $(".imgHover")
        .live('mouseenter', function() {
            $(this).children("img").fadeTo(200, 0.85).end().children(".hover").show();
        })
        .live('mouseleave', function() {
            $(this).children("img").fadeTo(200, 1).end().children(".hover").hide();
        });
})(jQuery);

当您更改人员组时,您正在取消绑定该功能。使用.live()将保持事件绑定。理想情况下你会使用.delegate(),但这仅在更高版本的 jQuery 中可用

更多信息:

  1. 绑定
  2. 居住
  3. 代表

编辑

刚刚注意到.delegate()实际上存在于 1.4.2 中;我以为是后来进来的。我建议从更改为.live().delegate()因为您可以将事件侦听器附加到父元素(另一个脚本未更改的元素)。检查文档的链接(上面)以了解语法的变化

于 2012-08-08T08:03:42.503 回答