0

我想如果用户在一个班级上移动鼠标两秒钟(保持鼠标按钮两秒钟),向他展示隐藏班级。如何?()

如果您在课堂上移动鼠标(多次),您将看到 slideToggle 自动完成,我不希望这样。如何解决?

演示:http: //jsfiddle.net/tD8hc/

我试过:

$('.clientele-logoindex').live('mouseenter', function() {
    setTimeout(function(){
        $('.clientele_mess').slideToggle("slow");
    }, 2000 );
}).live('mouseleave', function() {
        $('.clientele_mess').slideUp("slow");
})​
4

4 回答 4

1

请尝试以下链接您的问题将解决

http://jsfiddle.net/G3dk3/1/

变量 s;
$('.clientele-logoindex').live('mouseenter', function() {

    s = setTimeout(function(){
        $('.clientele_mess').slideDown();
    }, 2000 );
}).live('mouseleave', function() {
        $('.clientele_mess').slideUp("slow");
    clearTimeout(s)
})
于 2012-04-07T18:39:56.200 回答
0

像这样写你的html

<div class="clientele-logoindex">Keep the mouse here
<div class="clientele_mess" style="display: none;">okkkkkkko</div></div>
于 2012-04-07T18:32:39.620 回答
0

记录计时器何时启动并在启动新计时器之前检查是否存在:

window.timer = null;    
$('.clientele-logoindex').live('mouseenter', function() {
    if(!window.timer) {
        window.timer = setTimeout(function(){
            $('.clientele_mess').slideToggle("slow");
            window.timer = null;
        }, 2000 );
    }
}).live('mouseleave', function() {
        $('.clientele_mess').slideUp("slow");
})​
于 2012-04-07T18:38:43.890 回答
0

看看hoverIntent是一个确保悬停在元素上的 jquery 插件。

于 2012-04-07T19:04:51.500 回答