gpt4 book ai didi

javascript - 响应式菜单 (mmenu) 导致高 CLS

转载 作者:行者123 更新时间:2023-12-03 22:40:18 24 4
gpt4 key购买 nike

我正在使用 mmenu作为我网站上的响应式菜单。我最近注意到,在 Google 的搜索控制台中,由于高 CLS(累积布局偏移),我出现了错误。我检查过,这是真的,当我尝试以“慢”模式打开我的页面半秒时,我看到原始菜单结构,然后加载菜单(在 jQuery 准备好等之后)并且页面正确显示。
我的简化页面结构是:

    $(document).ready(function() {
$("#menu").mmenu({
"extensions": ["pageshadow"],
"header": {
"title": "Menu",
"add": true,
"update": true
}
}, {
// config
offCanvas: {
pageSelector: "#container"
}
});
});
    <html>
<head>
</head>
<body>
<nav id="menu">
<ul>

<li><a>Categories</a>
<ul>
<li>
<a href="https://example.com/1">Link 1</a>
</li>
<li>
<a href="https://example.com/2">Link 2</a>
</li>
<li>
<a href="https://example.com/3">Link 3</a>
</li>
</ul>
</nav>
<div class="content">This is content</div>
</body>
</html>

你怎么看,是否可以在这里应用任何快速修复来解决我的 CLS 问题?

最佳答案

没有任何mmenu经验,隐藏起来应该不够#menu使用 CSS 并且只在菜单初始化后才显示它?
这似乎对我有用:

<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>

关于javascript - 响应式菜单 (mmenu) 导致高 CLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65216041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com