SOを検索したところ、この質問は何度も行われたようですが、私の例ではうまく機能しないようです。
使用するコードは次のとおりです。http: //jsfiddle.net/vol7ron/w8QsZ/2/
私が探しているのは、flowplayerツールチップに似たものです。ここで:
- ホバーするとメニューが表示されるトリガーがあります
- トリガーを離れるとメニューが消えます
- ユーザーがメニュー(またはツールチップ)にカーソルを合わせると、ポップアップは開いたままになります。
私の推測では、トリガーは少し遅れて消えをhoverOut
呼び出す必要がありますが、メニューでは、タイムアウトをクリアする必要があります。setTimeout()
mouseenter()
私はまだjQueryを初めて使用し、生成されたtimeoutIDをどこに保存し、どこで呼び出すかがわかりません。
注:同じメニューが複数のトリガーに使用されます。
更新:わかりました、私は何かが機能しています:ここで
誰かが私がそれをクリーンアップしてより効率的にするのを手伝ってくれませんか?さらに重要なのは、timeoutIDにグローバルを使用したくないということです。おそらく、それをオブジェクトに保存するためのより良い方法がありますか?