停止下拉菜单上的闪烁效果
Stop flicker effect on dropdown menu
如何停止菜单上的"闪烁"效果?
当我单击"下拉列表1"时,Test 1
和Test 2
闪烁。我相信这是因为我使用 !important
子句强制这样做。
帮助?
$(document).ready(function($) {
$('.inline').find('.navtoggle').click(function(){
//Expand or collapse this panel
$(this).next().slideToggle('fast');
//Hide the other panels
$(".sub-menu").not($(this).next()).slideUp('fast');
});
});
http://jsfiddle.net/4dm318nn/1/
你不应该在你的CSS中如此努力地强迫可见性。像这样的事情应该做:
$(this).next('ul').slideToggle();
$(this).closest('li').siblings().children('ul').slideUp();
演示
CSS 调整显示子菜单:
.primary-item > .sub-menu {
display: none;
}
注释
掉slideUp
命令停止了卡顿。所以,我想我会检查一下那里的选择器捕获了什么:
console.log($(".sub-menu").not($(this).next()));
向我展示了它实际上是选择三个不同的元素。为了确保它只选择了正确的答案,您只需将.navtoggle +
添加到.submenu
选择器中:
$(".navtoggle + .sub-menu").not($(this).next()).slideUp('fast')
试试这个
jQuery
$(document).ready(function($) {
$('.inline').find('.navtoggle').click(function(){
//Expand or collapse this panel
$(this).next().slideToggle('fast', function(){
$(this).find(".sub-menu").slideDown('fast');
});
//Hide the other panels
$(this).parent().siblings().find(".sub-menu").slideUp('fast');
});
});
.CSS
.accordion-toggle {cursor: pointer;}
.sub-menu {display: none;}
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- angular的下拉菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 下拉菜单在菜单按钮的边缘闪闪发光
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 我的下拉菜单中的链接不起作用
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- 如何将JSON转换为HTML下拉菜单
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 基于下拉菜单创建开关
- 动态填充两个下拉菜单
- 如何将CSS(特别是填充/边距)应用于select下拉菜单的选项或optgroup
- 基于其他下拉菜单选择隐藏/显示下拉菜单
- JavaScript下拉菜单-部件在Mac上消失
- 为什么引导程序下拉菜单只有在包含bootstrap-responsive.css时才起作用
- 停止下拉菜单上的闪烁效果
- 下拉菜单在滑块上闪烁,仅在 Android 版 Chrome 上
- 整个下拉菜单在页面加载时快速闪烁