3 回答

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
#menu沒(méi)有任何使用 mmenu 的經(jīng)驗(yàn),使用 CSS 隱藏并僅在菜單初始化后才顯示它難道不就足夠了嗎?
這似乎對(duì)我有用:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/8.5.20/mmenu.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/8.5.20/mmenu.min.css" />
</head>
<script type="text/javascript" data-no-instant>
$(document).ready(function() {
$("#menu").mmenu({
"extensions": ["pageshadow"],
"header": {
"title": "Menu",
"add": true,
"update": true
}
}, {
// config
offCanvas: {
pageSelector: "#container"
}
}).css("display", "");
});
</script>
</head>
<body>
<nav id="menu" style="display: none">
<!-- <nav> content from your example -->
</nav>
<a href="#menu">open menu</a>
<div class="content">This is content</div>
</body>
</html>

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
我處理這個(gè)問(wèn)題的方法是使用一個(gè)與問(wèn)題元素具有相同大小/形狀/顏色的虛擬元素來(lái)充當(dāng)占位符,同時(shí)隱藏問(wèn)題元素。加載 jQuery 后,我將刪除/隱藏虛擬元素并顯示問(wèn)題元素。

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果沒(méi)有看到實(shí)際的代碼,很難回答,但是為了不必等待整個(gè)頁(yè)面準(zhǔn)備好,您可以以不需要使用 jQuery 調(diào)用的方式定位腳本ready
。
嘗試以下操作:
1 - 在本地加載 jQuery,而不是從 CDN
2 - 將 jQuery 腳本標(biāo)記放在實(shí)際的正文 html 數(shù)據(jù)之前,并將該mmenu
調(diào)用放在正文的 html 代碼之后,這樣在加載所有內(nèi)容之前不會(huì)顯示內(nèi)容
另一種選擇是讓你的主體顯示加載動(dòng)畫(huà),直到 jQuery 和其他 cdns 加載完畢,這樣你就能夠獲取所有內(nèi)容,運(yùn)行該 mmenu 調(diào)用,然后才向用戶顯示內(nèi)容,這種方法有點(diǎn)多用戶友好然后是我建議的,因?yàn)樗鼘?shí)際上不會(huì)顯示空白屏幕,而是顯示一些反饋,表明正在為連接速度較慢的用戶加載內(nèi)容。
添加回答
舉報(bào)