jquery mouseover导致闪烁

时间:2012-06-25 19:48:44

标签: jquery mouseover

至于http://jsfiddle.net/pBt38/5/,我不知道如何停止div.message_options_slider的闪烁,它是一个子元素,所以它不应该让鼠标悬停活动吗?

此外,任何建议都需要具有.live()函数,因为这将应用于动态元素。

提前致谢!

3 个答案:

答案 0 :(得分:2)

试试这个JS:

$(".network_block_item").on("mouseover", function(){
    //alert("here");
    var cord = $(this).position();

    $(this).find(".message_options_slider").css({
        position: 'absolute',
        top: cord.top,
        left: 0,
        display: 'block'       
    });
});

$(".network_block_item").on("mouseout", function(){
    $(".message_options_slider").css({ display: 'none' });
});

并将message_options_slider添加到每个网络行。

修改

这段代码实际上可能更好,不确定:

$(".network_block_item").on("mouseenter", function(){
    //alert("here");
    var cord = $(this).position();

    $(this).find(".message_options_slider").css({
        position: 'absolute',
        top: cord.top,
        left: 0,
        display: 'block'       
    });
});

$(".network_block_item,.message_options_slider").on("mouseleave", function(){
    $(".message_options_slider").css({ display: 'none' });
});

答案 1 :(得分:1)

message_options_slider是第3个div的子项,因此当您更改其位置以在当前悬停的div之上时,它会触发'mouseout'(注意没有闪烁)如果你将鼠标悬停在第3个div上。你可以在每个div中有一个message_options_slider并更改相应div的CSS,或者你可以将它插入到当前div中,这样它就不会闪烁

答案 2 :(得分:1)

这里有一些问题。如果你想只有一个弹出窗口的实例,你可以这样做:

http://jsfiddle.net/pBt38/6/