CSS + Jquery Slide在调整大小时切换菜单问题
CSS + Jquery SlideToggle Menu Issue when Resizing
有人可以告诉我为什么当我调整窗口大小时我的链接消失了。
- 我从小(移动)窗口开始。单击菜单,关闭菜单。
- 将窗口大小调整为更大,链接全部消失。如果我刷新页面,它们会重新出现。
我无法弄清楚是 jquery 还是某处的 css 错误......
$(document).ready(function() {
$('.openmenu').click(function() {
$('#menu>ul').slideToggle(100);
var $this = $(this);
$this.toggleClass('openmenu');
if ($this.hasClass('openmenu')) {
$this.html('☰');
} else {
$this.html('✕');
}
});
});
#menu {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: #FFF;
background-color: #000;
cursor: pointer;
height: 40px;
}
.omstyle {
font-size: 1.5em;
padding-left: 10px;
line-height: 40px;
}
#menu ul {
display: none;
background-color: #333;
}
#menu ul li {
padding: 10px;
border-top-width: 1px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #666;
border-right-color: #666;
border-bottom-color: #666;
border-left-color: #666;
float: none;
}
#menu ul li a {
color: #FFF;
text-decoration: none;
}
@media screen and (min-width: 469px) {
.omstyle {
display: none;
}
#menu ul {
display: block;
}
#menu ul li {
float: left;
display: block;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="menu">
<div class="omstyle">
<div class="openmenu">☰</div>
</div>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Diet</a></li>
<li><a href="#">Skin</a></li>
<li><a href="#">Digestion</a></li>
<li><a href="#">Hair</a></li>
<li><a href="#">For Men</a></li>
</ul>
</div>
似乎 jquery 脚本没有应用规则,也考虑媒体查询。若要解决,请按如下所示修改媒体查询
@media screen and (min-width: 469px) {
.omstyle {
display: none;
}
#menu ul {
display: block !important; /* ADD IMPORTANT*/
}
#menu ul li {
float: left;
display: block;
}
}
这是因为您使用的slideToggle()
方法在移动设备上关闭菜单时应用内联样式display: none
。 当您调整浏览器大小时,此内联样式仍然存在,并且优先于您的 CSS。
修复它的一种方法是使用 !important 标志
@media screen and (min-width: 469px) {
.omstyle {
display: none;
}
#menu ul {
display: block !important;
}
#menu ul li {
float: left;
display: block;
}
}
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 调整窗口大小时,可拖动的对象会出现在容器外部
- angular的下拉菜单
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 使用JQuery的动态上下文菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 下拉菜单在菜单按钮的边缘闪闪发光
- Div根据<选择>菜单
- 当屏幕宽度减小时,Bootstrap Form下拉菜单停止工作
- 如何在更改屏幕大小时删除功能(菜单响应)
- 当屏幕尺寸较小时,可使用Javascript向移动菜单添加链接.不再有效
- CSS + Jquery Slide在调整大小时切换菜单问题
- 当窗口在Chrome中调整大小时,JkMegaMenu下拉菜单向左移动
- 从下拉菜单中获取小时分钟值,仅在javascript中的setInterval()中进行初始化
- HTML下拉菜单24小时进出的问题
- 菜单在重新调整窗口大小时移动