当两个div都被激活时,一切正常,直到我到达第二个else if
。出于某种原因,只有#project-wrapper
才能删除该类。我写了第二个else if
错了吗?
$('.site-title a').click(function(e) {
e.preventDefault();
if($('#project-wrapper').hasClass('activated')){
$('#project-wrapper').removeClass('activated').css('max-height', '');
}
else if($('#contact-me').hasClass('activated')){
$('#contact-me').removeClass('activated');
}
else if( ($('#project-wrapper').hasClass('activated')) && ($('#contact-me').hasClass('activated')) ){
$('#contact-me').removeClass('activated');
$('#project-wrapper').removeClass('activated');
}
else {
}
});
答案 0 :(得分:2)
首先检查“both”条件,否则永远不会检查该条件:
if( $('#project-wrapper').hasClass('activated') && $('#contact-me').hasClass('activated') ) {
$('#contact-me, #project-wrapper').removeClass('activated');
}
else if($('#project-wrapper').hasClass('activated')){
$('#project-wrapper').removeClass('activated').css('max-height', '');
}
else if($('#contact-me').hasClass('activated')){
$('#contact-me').removeClass('activated');
}
else {
}
答案 1 :(得分:1)
你需要切换if语句,因为第二个if永远不会被击中
$('.site-title a').click(function(e) {
e.preventDefault();
if( ($('#project-wrapper').hasClass('activated')) && ($('#contact-me').hasClass('activated')) ){
$('#project-wrapper').removeClass('activated').css('max-height', '');
}
else if($('#contact-me').hasClass('activated')){
$('#contact-me').removeClass('activated');
}
else if($('#project-wrapper').hasClass('activated')){
$('#contact-me').removeClass('activated');
$('#project-wrapper').removeClass('activated');
}
else {
}
});
答案 2 :(得分:0)
只需删除'否则'零件并保持所有条件分开'如果'这应该工作
答案 3 :(得分:0)
$('.site-title a').click(function(e) {
e.preventDefault();
if( ($('#project-wrapper').hasClass('activated')) && ($('#contact-me').hasClass('activated')) ){
$('#contact-me').removeClass('activated');
$('#project-wrapper').removeClass('activated');
}
if($('#project-wrapper').hasClass('activated')){
$('#project-wrapper').removeClass('activated').css('max-height', '');
}
if($('#contact-me').hasClass('activated')){
$('#contact-me').removeClass('activated');
}
});
答案 4 :(得分:0)
在您的代码中,第二个'else-if'语句将从不,因为它要求 BOTH 元素将“激活”类,如果是情况,然后 FIRST '如果'将启动,没有其他任何事情发生....(所有'其他if'语句......)