この答え:
要素がオーバーレイされたときに 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/