0

我有一点 jQuery:

$('#list_cont').on('mouseenter', '.show_map', function() {
    $(this).next('.map_cont').stop().fadeIn(800);
}).on('mouseleave', '.show_map', function() {
    if (!$(this).next('.map_cont').is(':hover')) {
        $(this).next('.map_cont').delay(600).stop().fadeOut(800);
    }
});

$('#list_cont').on('mouseenter', '.show_map', function() {
    $(this).stop().show();
}).on('mouseleave', '.map_cont', function() {
    $(this).delay(600).stop().fadeOut(800);
});

它显示.map_cont.show_mapmouseenter 上,然后如果悬停在 上.map_cont,它不会淡出,直到光标离开.map_cont

这适用于 chrome,但不适用于 Firefox。我不知道如何跨浏览器测试这种类型的东西。

4

1 回答 1

0

由于.map_cont在 内部#list_cont,它确实如此。因此,您需要以这种方式定义您的函数:

$('.map_cont').on('mouseleave', '.show_map', function() {
    if (!$(this).next('.map_cont').is(':hover')) {
        $(this).next('.map_cont').delay(600).stop().fadeOut(800);
    }
});
于 2012-12-28T16:12:12.057 回答