Solomko2
10/9/2015 - 10:32 PM

From http://ru.stackoverflow.com/questions/411743/%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4-%D0%BD%D0%B0-%D1%81%D0%BB%D0%B5%D0%B4%D1%83%D1%

$(document).ready(function() {

    // Загрузка из localStorage сохранённого пункта меню и открытие его
    var storage = localStorage.getItem('item');
    if (storage && storage !== "#") {
        $('.nav-tabs a[href="' + storage + '"]').tab('show');
    }

    // Функция клика на произвольный пункт меню
    $('ul.nav').on('click', 'li:not(.active, .dropdown, .disabled, .divider)', function()      {
        var itemId = $(this).find('a').attr('href');
        localStorage.setItem('item', itemId);
    });

    var list = $('ul.nav').find('li');

    var length = list.length - 1;

    // Функция клика на кнопку Next
    $('.next').click(function() {
        list.each(function(i) {
            if($(this).hasClass('active') && !$(this).hasClass('dropdown'))     {
                if (i != length) {
                    $(this).removeClass('active');                
                    searchValidItem(i);
                    return false;
                } else {
                    $(this).removeClass('active');                
                    searchValidItem(-1);
                    return false;
                }
            }
        });
    });
});

// Функция для определения следующего подходящего пункта в меню
var searchValidItem = function(index) {
    var list = $('ul.nav').find('li');
    var nextIndex = index+1;
    var nextItem = list.eq(nextIndex);
    if (!nextItem.hasClass("disabled") && !nextItem.hasClass("dropdown") && !nextItem.hasClass("divider")) {
        nextItem.find("a").tab('show');
        localStorage.setItem('item', nextItem.find('a').attr('href'));
    } else {
        searchValidItem(nextIndex);
    }
};