Настройте активную вкладку с помощью jquery / javascript - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь изменить скрипт вертикальных вкладок на этой странице http://www.bluimage.it/dev/, чтобы поместить стрелку справа от вкладки, чтобы я мог показать активную / выбранную.Я пытаюсь вызвать класс css, как показано (обратите внимание, "case" left: "):

    function showContentDesc(modid, ind, pos)
{
        i = 0;
        switch(pos)
        {
            case "top":
                thisstyle=document.getElementById("menu_" + modid + "_" + ind).style.borderBottom;
                while (document.getElementById("content_" + modid + "_" + i) != null) {
                    document.getElementById("content_" + modid + "_" + i).style.display = "none";
                    document.getElementById("menu_" + modid + "_" + i).style.borderBottom = thisstyle;
                    i++;
                }
                document.getElementById("menu_" + modid + "_" + ind).style.borderBottom = "none";
                break;
            case "bottom":
                thisstyle=document.getElementById("menu_" + modid + "_" + ind).style.borderTop;
                while (document.getElementById("content_" + modid + "_" + i) != null) {
                    document.getElementById("content_" + modid + "_" + i).style.display = "none";
                    document.getElementById("menu_" + modid + "_" + i).style.borderTop = thisstyle;
                    i++;
                }
                document.getElementById("menu_" + modid + "_" + ind).style.borderTop = "none";
                break;
            case "right":
                thisstyle=document.getElementById("menu_" + modid + "_" + ind).style.borderLeft;
                while (document.getElementById("content_" + modid + "_" + i) != null) {
                    document.getElementById("content_" + modid + "_" + i).style.display = "none";
                    document.getElementById("menu_" + modid + "_" + i).style.borderLeft = thisstyle;
                    i++;
                }
                document.getElementById("menu_" + modid + "_" + ind).style.borderLeft = "none";
                break;
            case "left":
            default:
                thisstyle=document.getElementById("menu_" + modid + "_" + ind).style.borderRight;
                while (document.getElementById("content_" + modid + "_" + i) != null) {
                    document.getElementById("content_" + modid + "_" + i).style.display = "none";
                    document.getElementById("menu_" + modid + "_" + i).style.borderRight = thisstyle;
                    i++;
                }
                document.getElementById("menu_" + modid + "_" + ind).className = "sliptabs-left-menuitem-container-active";
                break;
        }
        document.getElementById("content_" + modid + "_" + ind).style.display = "inline";
}

... и это работает, но когда я перехожу на другие вкладки, выбранные на прошлой вкладке остаются активными!как я могу деактивировать другие и установить актив только в том, в котором я нахожусь?

1 Ответ

1 голос
/ 01 декабря 2011

Пожалуйста, ознакомьтесь с упрощенным фрагментом ЗДЕСЬ .

Я использовал jQuery, поскольку вы включили тег jQuery.

$("ul.menu li").click(function() {
  $(this).siblings(".selected").removeClass("selected");
  $(this).addClass("selected");
});

Каждыйпункт меню получит обработчик клика, который проверит наличие брата в классе «selected» и удалит этот класс.После этого он установит класс «выбранный» из текущего пункта меню.

...