ナビゲーション メニューを切り替え、5 秒後に閉じる jQuery スクリプトがあります。
<script>
$(function() {
function toggleMenu() {
$( "#menu-nav" ).toggle( "blind", 500 );
};
$( ".nav-open" ).click(function() {
toggleMenu();
setTimeout(function(){
$( "#menu-nav" ).toggle( "blind", 500 );
}, 5000);
});
});
</script>
それはうまくいきます。
また、ユーザーがリンクのいずれかをクリックしたときにメニューを閉じるようにします。
<script>
$(function() {
function closeMenu() {
$( "#menu-nav" ).toggle( "blind", 500 );
};
$( ".nav-close" ).click(function() {
closeMenu();
return false;
});
});
</script>
それもうまく機能します。
問題は、ユーザーがリンクをクリックしたときにタイマーがまだ実行されていることです。5 秒のマークに到達するとトグルし、メニューが再表示されます。次に、ユーザーがメニューを表示する要素をクリックすると、メニューが閉じますが、タイマーが再起動し、5 秒後にメニューが表示され、すべてがうまくいきません。
2 番目のスクリプトで最初のスクリプトのタイマーをキャンセルする方法を教えてください。
ご協力いただきありがとうございます。