0

当悬停由属性定位的 .thumb 兄弟元素 .description 时,如何停止触发 mouseleave 触发器:绝对位置。

我有以下js代码

$('.thumb').on({
    mouseenter: function() {
        $(this).siblings('.description').delay(100).slideDown(200);
        start_preview($(this));
    },

    mouseleave: function(e) {
        $(this).siblings('.description').stop(true, true).slideUp(200);
        clearInterval( $(this).data('timer') ); //Stops preview
    }
});

对于以下 HTML 代码:

<td><a href="/video?id=1052">
    <img class="thumb" src="path" />
    <div class="description"></div>
</a></td>   
4

2 回答 2

1

试试这个:

$('.thumb').closest('td').on({ 
    mouseenter: function() {
        $(this).find('.description').delay(100).slideDown(200);
        start_preview($(this).find('.thumb'));
    },

    mouseleave: function(e) {
        $(this).find('.description').stop(true, true).slideUp(200);
        clearInterval( $(this).find('.thumb').data('timer') ); //Stops preview
    }
});
于 2013-07-09T16:06:11.893 回答
1
$('.thumb').on({
    mouseenter: function() {
        $(this).siblings('.description').delay(100).slideDown(200);
        start_preview($(this));
    },

    mouseleave: function(e) {
        var sibs = $(this).siblings('.description');
        $.each(sibs, function(i, v) {
            if ($(this).css('position') == 'absolute') {
                return false;
            } else {
                $(this).stop(true, true).slideUp(200);
                clearInterval( $(this).data('timer') ); //Stops preview
            };
        });
    }
});
于 2013-07-09T16:03:29.850 回答