在鼠标悬停后记住并显示以前活动的导航标签?

时间:2016-07-12 06:54:28

标签: javascript jquery css3 twitter-bootstrap-3

我在每个主要标签(nav-tabs)下都有几个子标签(nav-pills)。我希望在悬停时返回主动标签时显示它们并将其悬停在主标签上。

我已经为悬停编写了jquery,但不知道如何返回上一个活动标签。问题是鼠标悬停时,最后一个悬停的标签保持活动状态。 我的代码在下面的地方给出

  $('.nav-tabs > li > a').hover(function () {
        //$($(this).attr('href')).show();
        $(this).tab('show');
    }, function () {
       // debugger;
        //if ($(this).hasClass('active')) {           //if ($(this).parent('li').hasClass('active')) {
        //    $($(this).attr('href')).show();
        //}
        //else {
        //    $($(this).attr('href')).hide();
        //}
    });

1 个答案:

答案 0 :(得分:1)

当你完成悬停时,你需要使用一个类来回忆你以前的状态。

$('.nav-tabs > li > a').hover(function () {
    $('.nav-tabs > li.active').addClass('lastActive');
    $(this).tab('show');
}, function () {
    $('.nav-tabs > li.lastActive').removeClass('lastActive').children('a').tab('show');
});

此外,您还需要添加一个删除lastActive类的click事件。

$('.nav-tabs > li > a').click(function () {
    $('.nav-tabs > li.lastActive').removeClass('lastActive');
    $(this).tab('show');
});

像这样:)