编程语言
首页 > 编程语言> > javascript – Zurb Foundation Offcanvas菜单在以编程方式切换后停止工作

javascript – Zurb Foundation Offcanvas菜单在以编程方式切换后停止工作

作者:互联网

我在一个WordPress主题中使用了Zurb Foundation 5和一个offcanvas菜单,这是一个普遍的工作,但我遇到了一个问题:

除了顶栏中的汉堡包图标外,我还可以选择在单击固定位置div元素.back-to-menu时打开菜单.
为了实现这一点,我使用该方法以编程方式打开offcanvas菜单,如Zurb的文档中所述.
虽然这很好用,但在我点击div.back-to-menu打开菜单然后再次关闭菜单后,我似乎无法通过点击顶栏中的汉堡图标打开菜单了.

这是打开菜单的代码:

jQuery('.back-to-menu').click(function(event) {
    event.preventDefault();
    jQuery('html, body').animate({scrollTop: 0}, duration);
    setTimeout(function() {
        $('.off-canvas-wrap').foundation('offcanvas', 'show', 'move-right');
    }, duration);
    return false;
})

有人可以帮忙吗?

解决方法:

这似乎是Foundation中的一个错误,当我在Foundation文档页面上执行您的脚本时发生相同的错误,菜单打开和关闭但随后被破坏.

解决方法是通过模拟汉堡包图标上的单击来触发offcanvas:

setTimeout(function() {
    $('.off-canvas-wrap').find('.left-off-canvas-toggle').click(); 
}, duration);

这不像使用“官方”方式那样整洁,但这是万无一失的,当然比使用它后打破菜单更好.

显然已经有一个issue在Foundation GitHub上提交了这个,并且只要它没有固定就提出了同样的解决方法.

标签:jquery,javascript,zurb-foundation
来源: https://codeday.me/bug/20190628/1320231.html