この答え:
要素がオーバーレイされたときに mouseout イベントをキャンセルする
どこか近くになりますが、それは私の問題を逆転させるようなものであるため、実際には私が求めているものではありません.
Facebookの画像ビューアに似た画像ギャラリーを作っています。
div
画像は、画面の中央に配置され、メイン ページの上に z-index 値で浮動する絶対配置に読み込まれます。
画像の左右には、div
絶対位置の小さな要素がz-index
あり、画像よりも 1 高くなります。これらのdiv
要素は、ギャラリーをクリックするための左右の矢印です。
画像が読み込まれると矢印は非表示になりますが、ユーザーがマウスを画像の上に移動すると、矢印がフェードインし、再び離れるとフェードアウトします... Facebook ビューアーと同じように。
私はhoverIntent
これを達成するために使用していますが、うまくいきます。
しかし...ユーザーがマウスを矢印divに移動すると、これが下にある画像hoverIntent
のイベントとして表示され、矢印が非表示になります...mouseleave
だから...私が必要とするhoverIntent
のは、矢印divを無視できるようにすることです。
私が使用しているコードhoverIntent
は非常に単純です。
function showArrows() {
$('.imgNav').fadeIn(500);
};
function hideArrows() {
$('.imgNav').fadeOut(500);
};
$(img).hoverIntent(showArrows, hideArrows);
明らかimg
に jQuery 画像オブジェクトであり.imgNav
、矢印のクラス名です。
編集:
ここに作成しましfiddle
た:http://jsfiddle.net/jhartnoll/cE6gu/