防止jQuery悬停行为跳跃

时间:2012-03-16 12:09:39

标签: jquery

我做了一个快速小提琴:http://jsfiddle.net/tLLB4/

好的,所以前提是,我在一个元素上空盘旋并弹出另一个元素。但是,用户鼠标将保持在相同位置,从而导致跳跃悬停行为。谁能想到如何解决这个问题?

相关代码:

$('.trigger').hover(function(){
    $('.toShow').animate({
        marginLeft: '+=150'
    });
}, function(){
    $('.toShow').animate({
        marginLeft: '-=150'
    });
});

1 个答案:

答案 0 :(得分:1)

这样的事,也许?

http://jsfiddle.net/tLLB4/20/

$('.toShow').hover(function(){
    $(this).stop().animate({
        marginLeft: '0'
    });
}, function(){
    $(this).stop().animate({
        marginLeft: '-150'
    });
});

你需要在.toShow div上运行悬停,否则它会在它开始打开时再次消失并且你的光标停留在原来的位置。