我正在开发一个网站http://maypoprestaurant.com/location
在移动设备上(< 768px),在通过汉堡包图标对画布外导航进行拼接后,我需要在单击其中一个链接后关闭画布外导航。
任何帮助都会非常感激,因为我在这里拔头发。 :X
//导航代码
// Navigation Code
<div id="navA" class="navmenu navmenu-default navmenu-fixed-left offcanvas-xs">
<a class="navmenu-brand visible-sm visible-md visible-lg" href="#"><img src="<?php echo get_stylesheet_directory_uri(); ?>/img/maypop-logo.png" class="logoSidebar"></a>
<ul class="nav navmenu-nav">
<li><a data-toggle="offcanvas" data-target=".navmenu" href="/home2" class="<?php if (is_page('home2')) echo 'active'; ?>">
<i class="fa fa-home" aria-hidden="true"></i> Home</a></li>
<li><a data-toggle="offcanvas" data-target=".navmenu" href="/menus" class="<?php if (is_page('menus')) echo 'active'; ?>">
<i class="fa fa-plus" aria-hidden="true"></i> Menus</a></li>
<li><a data-toggle="offcanvas" data-target=".navmenu" href="/location" class="<?php if (is_page('location')) echo 'active'; ?>">
<i class="fa fa-map-marker" aria-hidden="true"></i> Location</a></li>
<li><a data-toggle="offcanvas" data-target=".navmenu" href="/press" class="<?php if (is_page('press')) echo 'active'; ?>">
<i class="fa fa-newspaper-o" aria-hidden="true"></i> Press</a></li>
<li><a data-toggle="offcanvas" data-target=".navmenu" href="/events" class="<?php if (is_page('events')) echo 'active'; ?>">
<i class="fa fa-calendar-o" aria-hidden="true"></i> Events</a></li>
</ul>
</div>
我在标题中添加了这个Javascript:
<script type="text/javascript">
jQuery("#navA .navmenu-nav a").click(function(){
jQuery('.navmenu').offcanvas('hide');
});
</script>
**更新/编辑**
我已成功获取移动侧边栏以隐藏点击此代码:
<script type="text/javascript">
jQuery(".navmenu .nav li a").on("click", function (){
jQuery("#navA").removeClass("in canvas-slid");
});
</script>
现在的问题是汉堡包图标不知道我已经完成了这个,所以只需要两次点击就可以打开菜单而不只是一个。我需要以某种方式告诉该事件重置。
有什么想法吗?
答案 0 :(得分:0)
我不确定这是最有效的方法,但你可以试试这个:
<script type="text/javascript">
jQuery("#navA .navmenu-nav a").click(function(e){
e.preventDefault();
jQuery('.navmenu').offcanvas('hide');
$(location).attr('href', $(this).attr(href));
});
</script>