我正在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
答案 0 :(得分:1)
您没有发布您的标记,但我访问了该网站,并且您的CSS中没有看到“.sticky”类。你在打电话
rgba(0,0,0,0)
Foundation.reInit()
选择页面上的任何内容?你为什么不试试:
$('.sticky')
将使用属性data-sticky
重新初始化所有元素答案 1 :(得分:0)
好的,所以它显然是zurb-foundation中的一个已知问题,粘性模块在被销毁后无效(虽然我不知道为什么它在我的情况下被破坏,因为我只是用AJAX重新加载其他内容) ,所有其他基础js插件似乎都在工作。 (见:https://github.com/zurb/foundation-sites/issues/9047)
我将尝试的解决方案是找到另一个粘性库来处理这个特定问题。