我有一个 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 秒标记时,它会切换,因此菜单会重新出现。然后,如果用户单击显示菜单的元素,它会关闭它,但会重新启动计时器,菜单会在五秒钟后出现,然后一切都会变得异常。
如何让第二个脚本取消第一个脚本中的计时器,或者我只是以错误的方式处理所有这些?
提前感谢您的任何帮助!