我是ajaxifying一個網站。我的菜單應該一直很粘(使用Foundation提供的粘性模塊)。但它只是對常規頁面加載粘性,而不是對Ajax重新加載(在網站上導航時也是如此)
我試圖在事件ajaxComplete
發生時使用基金會文檔中提供的行重新初始化模塊6:Zurb基金會JavaScript reInit模塊不工作
$(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
標頭也有id#masthead這個類有粘性!我應用這行'$('。sticky').css('border','2px solid red');''在'ajaxComplete'裏面,它顯示一個紅色邊框! 對不起沒有發佈標記,它很長,所以我不知道哪個部分是相關的!我嘗試了數據粘性,並得到像以前一樣的錯誤TypeError:無法讀取未定義的屬性'_init' –
當我從您的URL加載頁面時,標題是粘性的(除非在小屏幕上...您需要添加。 'stickyOn:small' 到數據選項,直到你點擊一個按鈕,它保持粘性 - 當錯誤出現這可是那麼你導航到一個新的頁面,所以你需要調用 '$ (document).foundation()' 代替'reInit()' – genestd
哦,感謝'stickyOn:small',我的意思是解決這個問題呢!奇怪的是,我添加試圖調用'$(document)。基礎()',但它也行不通,我甚至沒有在控制檯中發生錯誤,所以我不知道它出錯的地方。 ,也許是因爲我的元素在'ajaxComplete'之前已經是'data-sticky'屬性了,它不會再被初始化了嗎? (因此'reInit()'嘗試),但顯然我錯了某處! –