【发布时间】:2011-01-07 14:30:27
【问题描述】:
我编写了一个导航菜单,其中包含嵌套的下拉菜单 - 我编写了菜单以在悬停时向下滑动,效果很好。
但是,还有一个“显示全部”链接,单击该链接会展开所有子菜单并将新类应用于容器以填充菜单。
单击可以很好地扩展菜单,但是再次单击会改变外观,因为它应该通过删除类来改变外观,就好像它再次触发了该功能一样。我的代码如下 - 任何帮助将不胜感激!安迪
// == MENU SHOW ALL TOGGLE
// show pointer
$('#menu li#show-all').hover(function(){
$(this).css({'cursor' : 'pointer'});
});
$('#menu-container').addClass('show-single');
function toggleheight(){
if ($('#menu-container').hasClass('show-single')) {
$('#menu li').not('#show-all').fadeOut(function(){
$('#menu').animate({
height : '300px'
}, function(){
$('#menu-container').removeClass('show-single').addClass('show-all');
$('#menu li').not('#show-all').fadeIn();
});
});
}else {
$('#menu li').not('#show-all').fadeOut(function(){
$('#menu-container').removeClass('show-all').addClass('show-single');
$('#menu').animate({
height : '16px'
}, function(){
$('#menu li').not('#show-all').fadeIn();
});
});
}
}
$('#menu li#show-all').click(function(){
$(toggleheight);
});
编辑:扩展菜单,将链接悬停,然后返回并单击“显示所有”链接确实会恢复菜单 - 但是单击“显示全部”链接一次以再次展开以缩小而不导航似乎重新触发函数
【问题讨论】:
标签: jquery navigation toggle jquery-animate