2012-07-26 227 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