if (lastclicked == 'undefined'){
$('#Info-Side-Tabs a:#Main').parent().addClass('active');
} else {
$('#Info-Side-Tabs a:lastclicked').parent().addClass('active');
}
lastclicked 可以告诉您您在我的侧选项卡切换器上单击的最后一个链接。单击显示/隐藏时不会更改。我想做的是,当您没有单击任何选项卡并隐藏选项卡时,活动类将切换到关闭/打开选项卡,但内容不会改变。因此,如果 lastclicked 未定义,这将是因为您没有单击其他任何内容,当您重新打开时,活动选项卡将切换回默认值。如果它不是未定义的,则情况相同,但当前可能有两个选项卡供活动类返回。
我的完整 JQuery 代码:
$('#Info-Side-Tabs a').click(function() {
var clicked = $(this).attr('href');
if (clicked == "#Map-Selection-Info-Close") {
$('#Info-Side-Tabs li').removeClass('active');
$(this).parent().addClass('active');
$(this).attr("href","#Map-Selection-Info-Open");
$(this).text('Open Me');
$('#Map-Selection-Info').animate({marginLeft: '978px'}, 1000);
$('#ATWI80C-Map').animate({width: '900px' }, 1000);
} else if (clicked == "#Map-Selection-Info-Open") {
$(this).parent().removeClass('active');
$(this).attr("href","#Map-Selection-Info-Close");
$(this).text('Close Me');
$('#Map-Selection-Info').animate({marginLeft: '670px'}, 1000);
$('#ATWI80C-Map').animate({width: '600px' }, 1000);
if (lastclicked == 'undefined'){
$('#Info-Side-Tabs a:#Main').parent().addClass('active');
} else {
$('#Info-Side-Tabs a:lastclicked').parent().addClass('active');
}
} else {
lastclicked = clicked;
switchback = $('clicked');
$('#Info-Side-Tabs li').removeClass('active');
$(this).parent().addClass('active');
var activeTab = $(this).attr('href');
$('#tab-content > div:visible').hide();
$(activeTab).show();
}
//alert(lastclicked);
});
我已经尝试了各种方法,这只是当前的尝试。
实时视图:https ://tornhq.com/WorkingOn/InteractiveMap/implementing.html#Map-Selection-Info-Close