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

标签 javascript jquery zurb-foundation

我在带有 offcanvas 菜单的 Wordpress 主题中使用 Zurb Foundation 5,这在一般情况下工作正常,但我遇到了一个问题:

除了顶部栏中的汉堡图标外,我还提供了在单击固定位置的 div 元素时打开菜单的选项 .back-to-menu。 为实现这一点,我使用了 Zurb 文档中描述的以编程方式打开 offcanvas 菜单的方法。 虽然这工作正常,但在我点击 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 上提交了此文件,只要未修复,就会提出相同的解决方法。

关于javascript - Zurb Foundation Offcanvas 菜单在以编程方式切换后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25960653/

相关文章:

javascript - Chart js - 自定义图表

css - 基础网格系统不生效

ruby-on-rails - 未找到Zurb Foundation 5,modernizr

javascript - 在javascript中使用过滤器时获取项目索引

javascript - jQuery Toggle 在窗口调整大小时不显示

javascript - 如何使用 Angular-Gridster 保留高度?

jquery - 使用 jQuery 和 cookie 的彩色页面切换器

javascript - 图像上的鼠标光标坐标 : <br/> not working

javascript - 使用js在多个页面上显示页眉和页脚

css - 让一个 div 与另一个 div 重叠