我正在尝试编写一个if / else语句,只要点击“about”或“contact”链接,就会隐藏.thumb
<div>
个。我希望所有.thumb
<div>
都向上滑动。
http://dl.dropbox.com/u/14080718/Final/UITabs15.html
我没有太多编写if / else语句的经验我似乎无法找出正确的语法,你能给予的任何帮助都会非常感激。
$(function(){
$('.thumb').hide();
$('.subnav').click(function(){
var $menuelement = $('.thumb').eq($(this).closest("li").index());//find the matching nth element in the menu
if($menuelement.hasClass('active')){//if clicked element is already expanded
$menuelement.removeClass('active').slideUp();//remove the active class and hide it
} else {//otherwise,clicked element is not already expanded...
if ($('.active').length>0) {//...but another element is expanded
$('.active').removeClass('active').slideUp( function(){
$menuelement.addClass('active').slideDown();//add the active class and show it
});
} else {//another element is not expanded
$menuelement.addClass('active').slideDown();//add the active class and show it
}
}
});
});
答案 0 :(得分:0)
我不能尝试这个,因为它有点孤儿,但尝试以下(或至少以下想法)。我很困惑,因为您的链接实际上并不包含您发布的代码。如果您仍然遇到问题,请尝试使用代码发布jsfiddle。
您的($('。active')。length&gt; 0)语句不需要&gt; 0部分 - 所有非零长度都将返回true。
$(function(){
$('.thumb').hide();
$('.subnav').click(function(){
var menuelement = $('.thumb').eq($(this).closest("li").index());//find the matching nth element in the menu
$(menuelement).toggleClass('active').slideToggle();
$('.active').not(menuelement).removeClass('active').slideUp();
});
});