に私はjQueryのロールオーバーメニューでこのサイトを作りました:奇妙な効果/ちらつき()ロールオーバーメニュー
http://www.ffsolar.com/index.php?lang=EN&page=home
それがうまく機能していないことが起こります。 「サービス」ボタンの上の白いスペースからマウスを画像の中央まですばやく移動してください。ストラッジ効果が発生すると、メニューが "ちらつき"始まり、マウスを動かすまで停止しません。
まあ、これは私のjQueryのコードです:これが起こると私はそれについて何を行うことができる理由
$('#main_navi li').hover(
function() {
//show its submenu
$('ul', this).stop(true,true).slideDown(200);
},
function() {
//hide its submenu
$('ul', this).stop(true,true).slideUp(200);
}
);
誰かが私に説明できますか?私はstop()でtrueとfalseのすべての組み合わせを試しましたが、うまくいきませんでした。
感謝を作りましたよ!しかし、これは正しい方法ではありませんか? jQueryでこのロールオーバーメニューを他にどのように実行できましたか?ミリ秒で変化が問題を解決できると思いますか? – jonas23
このように間違っていることは何もありません。同じ方法でやったでしょう。私が言ったように、あなたは 'stop(true、true)'を 'stop(false、false)'または単に 'stop()'(これは同じもの、[ドキュメンテーション](http://api.jquery。 com/stop /))。そうすれば、フリッカーは消えるはずです。なぜなら、メニューはマウスアウトの現在のエクステントからうまく収まるからです。 'stop(true、true)'を使うと、mouseoutのslideDownを止めず、すべての問題を引き起こします。もしあなたが 'stop'を完全に省略すると、うまくいくかもしれません。 –
'stop()'だけを使うと、マウスで説明したことを行った後でサブメニューが開かなくなります。だから私は 'stop()'を削除しました。今すぐ何が起きるかチェックしてください...マウスを別のメニュー項目に素早く動かすとどうなりますか?これはまさに 'stop()'メソッドで避けたかった効果です。これについて何かできることはありますか?あなたの助けをもう一度感謝します、私は非常に感謝します! – jonas23