我有一个 3 级导航和 event.preventDefaul(); 应该只影响导航的第一级,但它影响所有 3 个级别,我该如何更改?
JS代码
var $topLevelItems = $("nav > ul > li");
$topLevelItems.click(function(event) {
event.preventDefault();
if (!$(this).hasClass('selected')) {
$topLevelItems.removeClass('selected')
.find('.level_2')
.slideUp('slow');
$(this).addClass('selected')
.find('.level_2').fadeIn('slow')
.slideDown('slow',function(){
$('#nav').animate({height:$topLevelItems.find('.level_2:visible').height()+55},200);
});
}
});
当我尝试此操作时,该函数无法启动:
var $topLevelItems = $("nav > ul > li");
$topLevelItems.click(function(event) {
if (this !== event.target) {
return;
event.preventDefault();
}
if (!$(this).hasClass('selected')) {
$topLevelItems.removeClass('selected')
.find('.level_2')
.slideUp('slow');
$(this).addClass('selected')
.find('.level_2').fadeIn('slow')
.slideDown('slow',function(){
$('#nav').animate({height:$topLevelItems.find('.level_2:visible').height()+55},200);
});
}
});