我正在为一个项目使用波旁威士忌笔芯的滑动菜单,只是希望它一直运行到特定的断点。我认为下面的这种方法会起作用。
CSS:
@media only screen and (max-width: 959px) {
//sliding menu code
}
奇怪的是,这在浏览器向外扩展时起作用。但是,当折叠时,会出现闪烁,并且在到达断点之前菜单会显示一两秒。我应该将导航中js-menu
的sliding-menu-content
课程设置为display:none
吗?
更新: 我在 js 中添加了一个条件来显式隐藏正在显示的类......但是当它高于 960px 时,这从我的页面中删除了导航。这也是用 js/jQuery 控制视口的正确方法吗?
var slidingElements = $('nav.js-menu.sliding-menu-content.is-visible, .sliding-menu-content');
$(window).resize(function() {
if ($(this).width() >= 959) {
$(slidingElements).hide();
} else {
$(slidingElements).show();
}
});
有人知道吗
JS:
<script>
$(document).ready(function() {
$('.js-menu-trigger').on('click touchstart', function(e) {
$('.js-menu').toggleClass('is-visible');
$('.js-menu-screen').toggleClass('is-visible');
e.preventDefault();
});
$('.js-menu-screen').on('click touchstart', function(e) {
$('.js-menu').toggleClass('is-visible');
$('.js-menu-screen').toggleClass('is-visible');
e.preventDefault();
});
});
</script>
我知道断点和其他控制器(respond.js 等)。这是解决这个问题的正确方法吗?