javascript - 如何从一个菜单中获取菜单项并将它们附加到不同的菜单
问题描述
我有一个带有几个链接的迷你菜单,必须隐藏平板电脑和移动屏幕尺寸上的链接,这很好用 css 和媒体查询执行此操作,但我还有一个带有不同链接的主菜单,并且在正常屏幕尺寸上显示为展开但在平板电脑和手机上显示为隐藏的可点击汉堡菜单。当迷你菜单中的链接被隐藏以成为主菜单的一部分时,我想要平板电脑和移动设备大小。我知道我必须在我的 .js 文件中创建某种 for 循环,在平板电脑和手机尺寸上,它会从 minu 菜单中获取菜单项并将它们附加到主菜单,但如果有人可以的话,我不确定该怎么做用代码线框帮助我如何做到这一点会很棒。
谢谢!
解决方案
我建议将您希望在移动设备上看到的链接放在您的主菜单中,并为这些链接添加一个类,这些链接只会在移动设备上显示它们。如果它只是一个简单的链接,它应该可以完成这项工作。
<ul class="main-menu">
<li>always visible<li>
<li>always visible<li>
<li class="visible-mobile">only visible on mobile<li>
<li>always visible<li>
</ul>
然后在你的CSS中:
.main-menu .visible-mobile { display: none }
@media (max-width: ...) {
.main-menu .visible-mobile { display: block }
}
如果您仍然喜欢使用 javascript,这是一种方法
const mainMenu = document.querySelector('.main-menu');
const minuMenu = document.querySelector('.mini-menu');
const mobileBreakpoint = 767; // put your mobile breakpoint here
const isMobile = window.innerWidth < mobileBreakpoint;
if ( isMobile ) {
const listItems = miniMenu.querySelectorAll('li');
mainMenu.appendChild(listItems);
}
推荐阅读
- python - 如何使用 Tensorflow 2.0 数据集在训练时执行 10 个裁剪图像增强
- python - 运行 main() 项目文件的快捷方式
- php - 如何在 PHP 的 (lib)cURL 中使用“双重代理”?
- python - 使用 Python 计算加泰罗尼亚语数?
- python - 设置 sample_weight_mode="temporal" 似乎不起作用
- reactjs - 如何防止赛普拉斯 POST 请求在数据库中创建实际数据
- r - 使闪亮的`dateRangeInput`的`end`总是大于`start`
- cors - Salesforce OpenID Connect - /.well-known/openid-configuration 被 CORS 阻止
- python - 绘制一个多轴对象数组
- terraform - terraform 中的二维数组支持