2010-12-19 9 views
0

マウスオーバーでマウスオーバーするとdivのすぐ下に表示されるボタンがあります。マウスカーソルを離すと、divが消えます。jQuery hoverIntentプラグイン親のホバーのdivを表示/非表示にしますが、表示されたときに表示されます。

これはすべてうまく動作しますが、ユーザーがそのdivの上を移動して(div内のコンテンツとやりとりするために)表示されるボタンの下にdivを保持する必要があります。

これは不可能です。これは、divを表示するボタンから離れたときにすぐにdivが消えるためです。

私はこれを達成するためにhoverIntent jQueryプラグインを使用しています。

// This is the button that when hovered 
// triggers the div below it to show 
$('#hoverMeToShowHideDiv').hoverIntent(function() { 

$("#displayDiv").stop().slideDown('slow'); 
}, 
function() { 
    // I don't want the div to hide if user hovers over it 
    $("#displayDiv").stop().slideUp('slow'); 
}); 

HTML:

<div id="hoverMeToShowHideDiv"> // some stuff </div> 
<div id="displayDiv"> 
    // some other stuff that I want to 
    // keep showing if users hover over it 
</div> 
+0

私はhoverIntentプラグインを使用しないソリューションにオープンしています – IntricatePixels

+0

htmlも投稿できますか?それとも、ライブ[JS Fiddle](http://jsfiddle.net/)、[JS Bin](http://jsbin.com/)、デモ? –

+0

デビット私はhtmlを追加しましたが(本当にシンプルで、本当に)、@ box9のソリューションを適用した後に動作するようにしました。 – IntricatePixels

答えて

1

スティック別のdivのボタンと#displayDivの両方の周り#wrapperDiv#wrapperDivではなく、ボタンにhoverIntentを添付:

$('#wrapperDiv').hoverIntent(function() { 
    $("#displayDiv").stop().slideDown('slow'); 
}, 
function() { 
    // I don't want the div to hide if user hovers over it 
    $("#displayDiv").stop().slideUp('slow'); 
}); 

HTML:

<div id="wrapperDiv"> 
    <div id="hoverMeToShowHideDiv"> // some stuff </div> 
    <div id="displayDiv"> 
     // some other stuff that I want to 
     // keep showing if users hover over it 
    </div> 
</div> 
+0

簡単で美しい解決策、ありがとうトン!面白い私はそれについて考えることさえしなかった。 – IntricatePixels

関連する問題