Zurb基金会javascript reInit模块无法正常工作

时间:2017-06-03 13:58:40

标签: javascript jquery ajax zurb-foundation

我正在ajaxifying一个网站。我的菜单应始终是粘性的(使用Foundation提供的粘性模块)。但它只是在常规页面加载时粘,而不是在ajax重新加载(也就是在网站上导航时)我试图在事件ajaxComplete发生时重新初始化模块,使用Foundation 6文档中提供的行:

$(document).ajaxComplete(function () {
    Foundation.reInit($('.sticky'));
    //other code
});

但它似乎没有用,因为我在控制台中收到了这个错误:

TypeError: Cannot read property '_init' of undefined
    at HTMLElement.<anonymous> (foundation.core.js:103)
    at Function.each (jquery.min.js?ver=2.1.0:2)
    at o.fn.init.each (jquery.min.js?ver=2.1.0:2)
    at Object.reInit (foundation.core.js:102)
    at HTMLDocument.<anonymous> (stickyfooter.js:28)
    at HTMLDocument.dispatch (jquery.min.js?ver=2.1.0:3)
    at HTMLDocument.r.handle (jquery.min.js?ver=2.1.0:3)
    at Object.trigger (jquery.min.js?ver=2.1.0:3)
    at x (jquery.min.js?ver=2.1.0:4)
    at XMLHttpRequest.<anonymous> (jquery.min.js?ver=2.1.0:4)

我不明白。这是什么意思 ?如何在ajax重新加载后使模块工作? 实际网站:http://lesdeuxvagues.com/demo

2 个答案:

答案 0 :(得分:1)

您没有发布您的标记,但我访问了该网站,并且您的CSS中没有看到“.sticky”类。你在打电话

rgba(0,0,0,0)
在jQuery选择器上。

也是如此
    Foundation.reInit() 

选择页面上的任何内容?你为什么不试试:

    $('.sticky')

将使用属性data-sticky

重新初始化所有元素

答案 1 :(得分:0)

好的,所以它显然是zurb-foundation中的一个已知问题,粘性模块在被销毁后无效(虽然我不知道为什么它在我的情况下被破坏,因为我只是用AJAX重新加载其他内容) ,所有其他基础js插件似乎都在工作。 (见:https://github.com/zurb/foundation-sites/issues/9047
我将尝试的解决方案是找到另一个粘性库来处理这个特定问题。