JS切换事件触发器无法正常工作
JS toggle event trigger not working correctly
我已经设置了一个响应式菜单,在 480px 或更小的菜单上,菜单将折叠并显示一个按钮单击并导致菜单下拉。我遇到的问题是,菜单将向下切换并立即切换回来。它不会保持打开状态。我在名为 .nav-expand 的 js 处理程序类中添加了一个名为 .nav-expanded 的 css,以便在切换后运行,以允许在打开屏幕到 480px 的更大维度时显示完整菜单。如果我从样式表中删除 css 或从 js 中删除代码,当我将页面缩小到 480px 或更小时,新菜单显示正确,我可以切换打开然后关闭。但是,一旦我关闭并扩大浏览器,除非我刷新浏览器,否则菜单将保持隐藏状态。
页面在这里 http://skeeterz71.com/gothic/
我的js代码:
jQuery(document).ready(function(){
jQuery(".menu-trigger").click(function(){
jQuery("#first-nav").slideToggle(400, function(){
jQuery(this).toggleClass("nav-expanded").css('display', '');
});
});
});
样式表媒体查询中的 CSS
.nav-expanded{
display:block;
}
你可以在 jQuery 代码中添加这个 css:
jQuery(this).toggleClass("nav-expanded").css('display', 'block');
.nav-expanded
的CSS没有被应用,因为#first-nav
样式正在覆盖它。
为了使.nav-expanded
具有更高的特异性,请添加以下内容
#first-nav.nav-expanded {
display: block;
}
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作