Webサイトで作業していて、ドロップダウンメニュー項目の現在のコードを変更したいと思います。現在のコードは次のとおりです。
$(document).ready(function () {
$('#nav li').hover(
function () {
//show its submenu
$('ul', this).slideDown(300);
},
function () {
//hide its submenu
$('ul', this).slideUp(300);
}
);
});
ユーザーがマウスをメニューから離したときのタイムアウトを設定して、メニューがスライドアップ効果をすぐに切り替えないようにするために、コードを変更してタイムアウトを追加してみました。私が望む望ましい効果は、ユーザーがマウスをメニューから200ミリ秒ほど離した後、メニューに戻しても何も起こらないことです。したがって、メニューはスライドアップ機能を切り替えるために300〜400ミリ秒のように待機します。これが私が書いたコードで、機能しませんでした。this
それの一部はとにかくのせいでした、これは$('ul', this).slideUp(250);
私が実装しようとしたがうまくいかなかったコードです:
$(document).ready(function () {
var timeoutID;
$('#nav li').hover(
function () {
//show its submenu
$('ul', this).slideDown(250);
window.clearTimeout(timeoutID);
timeoutID = window.setTimeout(SlideUp, 350);
},
);
function SlideUp() {
//hide its submenu
$('ul', this).slideUp(250);
}
});
スライドアップ機能を切り替えるためにプログラムを待機させる最良の方法は何ですか?どんなアイデアでも大歓迎です。ありがとう。