ページには 4 つの div があります。
- アイテムA
- アイテムB
- アイテムC
- 詳細(非表示)
望ましい効果は、項目ボックスの上にカーソルを置くと詳細ボックスが表示され、マウスアウトすると非表示になることです。詳細ボックスは、表示時にアイテムボックスの右側の約 20% に重なって表示されます。
ただし、現在の誤った効果は、アイテム ボックスの右端にカーソルを合わせると、[詳細] ボックスの表示と非表示の永遠のループに入るということです。おそらくこれは、アイテム ボックスのマウスアウト イベント (詳細が表示されるとき) をトリガーし、詳細ボックスが非表示になるとすぐにマウスオーバー イベントを再度トリガーするためです。これを回避する方法を知りたいです。
私の現在のコードは次のとおりです。
$('div.item').hover(
function() {
$(this).showDetails();
},
function() {
$(this).hideDetails();
}
);
ご指摘ありがとうございます。これは、視覚化できない人のための jsfiddle リンクです。右側の項目ボックスにカーソルを合わせて、マウスを少し動かすと、ちらつきが発生することがわかります。
ザビエル、私はすでに詳細ボックスにappendToを試しましたが、私が望む効果は、マウスイベントをアクション可能なdiv(つまり、アイテム)のみを対象にしたいということです。詳細ボックスがdivをカバーしているため、いくつかの調査の後、これが可能かどうかはかなり確信しています(したがって、その下にあるものにイベントを添付することはできません)