Materialize - 就像那样触发 sidenav 消失
Materialize - Like that triggers sidenav disappears
我正在尝试让一个侧边菜单在 Materialise 上工作,这应该非常简单:
首先我将 sidenav 内容添加到页面:
<ul id="slide-out" class="sidenav">
<li><div class="user-view">
<div class="background">
<img src="images/office.jpg">
</div>
<a href="#user"><img class="circle" src="images/yuna.jpg"></a>
<a href="#name"><span class="white-text name">John Doe</span></a>
<a href="#email"><span class="white-text email">jdandturk@gmail.com</span></a>
</div></li>
<li><a href="#!"><i class="material-icons">cloud</i>First Link With Icon</a></li>
<li><a href="#!">Second Link</a></li>
<li><div class="divider"></div></li>
<li><a class="subheader">Subheader</a></li>
<li><a class="waves-effect" href="#!">Third Link With Waves</a></li>
</ul>
然后我添加 jquery 代码:
$( document ).ready(function() {
$('.sidenav').sidenav();
});
最后是问题所在的部分:
我有一个位于页面顶部的导航:
<nav>
<div class="nav-wrapper">
<a href="#" class="brand-logo" data-target="slide-out" class="sidenav-trigger"><img src="icon.png" alt="" /></a>
<ul class="left hide-on-med-and-down" style="position: relative; left: 100px;">
<li><a href="#" data-target="slide-out" class="sidenav-trigger">Trigger SideNav</a></li><!-- This is just not showing -->
</ul>
</div>
</nav>
出于某种原因,此菜单未显示:
<li><a href="#" data-target="slide-out" class="sidenav-trigger">Trigger SideNav</a></li>
除非我把它取下来...data-target="slide-out" class="sidenav-trigger"
我该如何解决这个问题?
据我所知,这不是问题,当浏览器的宽度小于 993px 时,将显示具有 sidenav-trigger class 的元素。只需将浏览器 window 宽度调整为小于 993px 即可查看结果。
如果不起作用:
我认为问题可能出在您 link 的内容上。用文字替换图片,然后重试。
除了 Moein 所说的(sidenav-trigger
菜单仅在页面宽度小于 993px 时出现),您可以添加 show-on-large
class 到您的菜单按钮。
类似于:
<nav>
<div class="nav-wrapper">
<a href="#" data-target="slide-out" class="sidenav-trigger show-on-large"><i class="material-icons">menu</i></a>
<ul id="nav-mobile" class="right hide-on-med-and-down">
<li><a href="#" data-target="slide-out">Menu</a></li>
<li><a href="">Info</a></li>
</ul>
</div>
</nav>
出于名誉原因,我不能发表评论。它适用于 javascript 代码
document.addEventListener('DOMContentLoaded', function(){
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems, {});
});
您必须更改这段代码,而不是官方文档中给出的代码
M.Sidenav.init(elems, options);
有了这个
M.Sidenav.init(elems, {});
使用官方 javascript 代码,您会注意到在加载页面时控制台中出现错误。
我正在尝试让一个侧边菜单在 Materialise 上工作,这应该非常简单:
首先我将 sidenav 内容添加到页面:
<ul id="slide-out" class="sidenav">
<li><div class="user-view">
<div class="background">
<img src="images/office.jpg">
</div>
<a href="#user"><img class="circle" src="images/yuna.jpg"></a>
<a href="#name"><span class="white-text name">John Doe</span></a>
<a href="#email"><span class="white-text email">jdandturk@gmail.com</span></a>
</div></li>
<li><a href="#!"><i class="material-icons">cloud</i>First Link With Icon</a></li>
<li><a href="#!">Second Link</a></li>
<li><div class="divider"></div></li>
<li><a class="subheader">Subheader</a></li>
<li><a class="waves-effect" href="#!">Third Link With Waves</a></li>
</ul>
然后我添加 jquery 代码:
$( document ).ready(function() {
$('.sidenav').sidenav();
});
最后是问题所在的部分:
我有一个位于页面顶部的导航:
<nav>
<div class="nav-wrapper">
<a href="#" class="brand-logo" data-target="slide-out" class="sidenav-trigger"><img src="icon.png" alt="" /></a>
<ul class="left hide-on-med-and-down" style="position: relative; left: 100px;">
<li><a href="#" data-target="slide-out" class="sidenav-trigger">Trigger SideNav</a></li><!-- This is just not showing -->
</ul>
</div>
</nav>
出于某种原因,此菜单未显示:
<li><a href="#" data-target="slide-out" class="sidenav-trigger">Trigger SideNav</a></li>
除非我把它取下来...data-target="slide-out" class="sidenav-trigger"
我该如何解决这个问题?
据我所知,这不是问题,当浏览器的宽度小于 993px 时,将显示具有 sidenav-trigger class 的元素。只需将浏览器 window 宽度调整为小于 993px 即可查看结果。
如果不起作用:
我认为问题可能出在您 link 的内容上。用文字替换图片,然后重试。
除了 Moein 所说的(sidenav-trigger
菜单仅在页面宽度小于 993px 时出现),您可以添加 show-on-large
class 到您的菜单按钮。
类似于:
<nav>
<div class="nav-wrapper">
<a href="#" data-target="slide-out" class="sidenav-trigger show-on-large"><i class="material-icons">menu</i></a>
<ul id="nav-mobile" class="right hide-on-med-and-down">
<li><a href="#" data-target="slide-out">Menu</a></li>
<li><a href="">Info</a></li>
</ul>
</div>
</nav>
出于名誉原因,我不能发表评论。它适用于 javascript 代码
document.addEventListener('DOMContentLoaded', function(){
var elems = document.querySelectorAll('.sidenav');
var instances = M.Sidenav.init(elems, {});
});
您必须更改这段代码,而不是官方文档中给出的代码
M.Sidenav.init(elems, options);
有了这个
M.Sidenav.init(elems, {});
使用官方 javascript 代码,您会注意到在加载页面时控制台中出现错误。