菜单更改时仍显示@media查询
Menu Still Show When Change @media query
我有两个侧边栏(侧栏和侧栏移动)。第一个侧边栏我想在屏幕宽度>768px时看到它,所以我这样做了。
@media only screen and (min-width: 768px){
.side-bar{
display: block;
}
.side-bar-mobile{
display: none;
}
}
并且当屏幕宽度<768px,当我点击一个按钮时,侧栏是隐藏的,侧栏移动是显示切换。
CSS
@media only screen and (max-width: 768px){
.side-bar{
display: none;
}
.side-bar-mobile{
display: none;
}
}
JS
$('#toggle-menu').on('click', function(e){
$('.side-bar-mobile').slideToggle();
e.preventDefault();
})
侧栏移动是滑动良好。但当我将窗口大小调整为正常大小(宽度>768px)时,侧栏手机仍然显示。我现在能做什么?我认为滑动切换功能的问题是,当我调整窗口大小时,它会使侧栏移动。但是我不能解决这个问题。帮帮我!非常感谢。
当屏幕宽度>768时,无论如何都必须隐藏侧栏移动设备。
因此,为了做到这一点,您需要注册窗口大小侦听器,如下所示:
window.onresize = function(){
var h = window.innerHeight
|| document.documentElement.clientHeight
|| document.getElementsByTagName('body')[0].clientHeight;
var w = window.innerWidth
|| document.documentElement.clientWidth
|| document.getElementsByTagName('body')[0].clientWidth;
if(w > 768 ){
$('.side-bar-mobile').css({display:"none"});
}
}
还设置了窗口大小调整条件。试试这个
$(function(){
var nb = $('#toggle-menu');
var n = $('.side-bar');
$(window).on('resize', function(){
if(nb.is(':hidden') && n.is(':hidden') && $(window).width() >768) {
$('.side-bar').show().addClass('keep-nav-closed');
}
});
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 音频控件在mouseover上显示,在mouseout上淡出
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 显示5秒后隐藏潜水
- 画廊图像未显示
- 不显示带有本地json文件数据的谷歌地图脚本
- 菜单更改时仍显示@media查询
- 为什么当我单击打印按钮时@media打印选择器没有显示正确的格式
- 在html元素中显示Cordova-media-capture视频提要
- @print media显示隐藏内容的空格
- 将@media与javascript组合以设置显示none/block
- 根据Media Query有条件地显示内容
- 在Windows 8 Media Control中显示相簿艺术
- 如何在Media Player顶部全屏显示文本