jQuery在show和hide之间冻结

时间:2015-02-07 19:19:09

标签: jquery html css

点击this fiddle它会在#red上方显示#btn并在鼠标离开时隐藏它,简单。

$(function() {
    $('#btn').hover(function(){
        $('#red').stop().show(2000);
    }, function(){
        $('#red').stop().hide(2000);
    });
})

但只是尝试在不到两秒的时间内再次悬停,离开和悬停,#red在两者之间的某处冻结。

作为在悬停线上调用的最后一个方法是show(),为什么它不再完全显示?

感谢

1 个答案:

答案 0 :(得分:2)

当我在Chrome,IE 11和Firefox中测试时,我可以轻松地重现这个问题。显然,show在元素未被完全隐藏时不起作用。在hide之前添加show可使其表现良好:

$('#btn').hover(function(){
    $('#red').stop().hide().show(2000);
}, function(){
    $('#red').stop().hide(2000);
});

演示:http://jsfiddle.net/Guffa/9k3b2cp1/2/