2012-07-26 175 views
0

虽然我的div滑动向下或向上滑动,如果我将鼠标移动到同一个div上,悬停效果会再次发生(甚至更多),如果该功能现在正在工作,该怎么办?我不应该重新启动,直到我拿走鼠标并再次悬停? 当悬停功能工作时悬停

<div id="hover">Hover on me<div id="hidden">You hovered!!</div></div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

$(document).ready(function() { 
$('#hover').show(); 
$('#hidden').hide();  
$('#hover').hover(function() { 
    $('#hidden').slideDown(100); 
    }, function() { 
     $('#hidden').slideUp(100); 
    }); 
});​ 
+1

查找到'.stop()' – MrOBrian 2012-07-26 21:24:27

回答

0

你应该使用jQuery .stop()API)见jsfiddle here

你想要做的是改变你的悬停功能轻微。

添加在.stop()

$('#hover').hover(
    function() { 
     $('#hidden').slideDown(100); 
    }, function() { 
     $('#hidden').stop().slideUp(100); 
    } 
); 
+0

都具有相同的问题不值得战斗....他们不走完全下来,如果我拿走鼠标,而其向下滑动 – 2012-07-26 21:38:15

+0

@csh这是因为div横跨jsfiddle窗口一直延伸。如果你把鼠标移动到盒子外面或者它的尺寸足够大,它就可以工作 – Undefined 2012-07-26 21:38:55

+0

@csh我用一个新的jsfiddle更新了我的答案,更清楚地显示了div – Undefined 2012-07-26 21:42:07