如何停止菜单上的“闪烁”效果?
当我点击“下拉列表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');
});
});
答案 0 :(得分:3)
你不应该在CSS中强迫可见性。这样的事情应该做:
$(this).next('ul').slideToggle();
$(this).closest('li').siblings().children('ul').slideUp();
<强> Demo 强>
CSS调整显示子子菜单:
.primary-item > .sub-menu {
display: none;
}
答案 1 :(得分:1)
评论slideUp
命令阻止了口吃。所以,我想我会检查那里的选择器是什么:
console.log($(".sub-menu").not($(this).next()));
告诉我它实际上是在选择三种不同的元素。要确保只选择了正确的答案,您只需将.navtoggle +
添加到.submenu
选择器:
$(".navtoggle + .sub-menu").not($(this).next()).slideUp('fast')
答案 2 :(得分:0)
$(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');
});
});
.accordion-toggle {cursor: pointer;}
.sub-menu {display: none;}