JavaScript - вкладки внутри вкладок - PullRequest
0 голосов
/ 12 января 2020

У меня возникли некоторые трудности с JavaScript, особенно с вкладками внутри вкладок. В настоящее время у меня есть 3 основных вкладки, каждая из которых имеет дополнительные 3 дополнительные вкладки внутри. Проблема в том, что когда я переключаюсь с одной дополнительной вкладки на другую, а затем я переключаюсь на другую главную вкладку, все остальные вложенные вкладки закрываются, пока я не открою их вручную.

Например, я загружаю страницу, по умолчанию главная вкладка 1 - дополнительная вкладка 1 открыта. Я переключаюсь с главной вкладки 1 - дополнительная вкладка 1 на главную вкладку 1 - вспомогательную вкладку 2, она отлично загружается, однако, если я переключаюсь с основной вкладки 1 на главную вкладку 2, все дополнительные вкладки главной вкладки 2 закрываются, пока я не открою их вручную.

Ниже вы найдете HTML, CSS и JS, а также фрагмент.

HTML

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="styles.css">
    <title></title>
  </head>
  <body>
    <div class="wrapper">
      <div class="sidebar">
        <div class="sidebarHeader">
          Sidebar Header
        </div>
        <div class="sidebarContent">
          Sidebar Content
        </div>
      </div>
      <div class="main">
        <div class="mainHeader">
          <nav class="mainHeaderNav">
            <ul><a class="mainLinks active" onclick="openMenu(event, 'template')" href="#">Template</a></a></ul>
            <ul><a class="mainLinks" onclick="openMenu(event, 'mails')" href="#">Mails</a></ul>
            <ul><a class="mainLinks" onclick="openMenu(event, 'ptos')" href="#">PTOs</a></ul>
          </nav>
        </div>
        <div class="mainContent active" id="template">
          <div class="templateContainer">
            <div class="templateHeader">
              <nav class="templateHeaderNav">
                <ul><a class="templateLinks active" onclick="openTemplate(event, 'localmajor')" href="#">Local & Major</a></a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'escalation')" href="#">Escalation</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'afterhours')" href="#">After Hours</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'gems')" href="#">GEMS</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'chat')" href="#">Chat</a></ul>
              </nav>
            </div>
            <div class="templateContent active" id="localmajor">
              Local & Major Template Content
            </div>
            <div class="templateContent" id="escalation">
              Escalation Template Content
            </div>
            <div class="templateContent" id="afterhours">
              After Hours Template Content
            </div>
            <div class="templateContent" id="gems">
              GEMS Template Content
            </div>
            <div class="templateContent" id="chat">
              Chat Template Content
            </div>
          </div>
        </div>
        <div class="mainContent" id="mails">
          <div class="templateContainer">
            <div class="templateHeader">
              <nav class="templateHeaderNav">
                <ul><a class="templateLinks active" onclick="openTemplate(event, 'localoffice')" href="#">Local Office</a></a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'majoraccount')" href="#">Major Account</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'quicklist')" href="#">Quick List</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'resellers')" href="#">Resellers</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'edc')" href="#">EDC</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, '3rdparty')" href="#">3rd Party</a></ul>
              </nav>
            </div>
            <div class="templateContent active" id="localoffice">
              Local Office Mails Content
            </div>
            <div class="templateContent" id="majoraccount">
              Major Account Mails Content
            </div>
            <div class="templateContent" id="quicklist">
              Quick List Mails Content
            </div>
            <div class="templateContent" id="resellers">
              Resellers Mails Content
            </div>
            <div class="templateContent" id="edc">
              EDC Mails Content
            </div>
            <div class="templateContent" id="3rdparty">
              3rd Party Mails Content
            </div>
          </div>
        </div>
        <div class="mainContent" id="ptos">
          <div class="templateContainer">
            <div class="templateHeader">
              <nav class="templateHeaderNav">
                <ul><a class="templateLinks active" onclick="openTemplate(event, 'vacation')" href="#">Vacation</a></a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'paidleave')" href="#">Paid Leave</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'sickleave')" href="#">Sick Leave</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'shiftswap')" href="#">Shift Swap</a></ul>
              </nav>
            </div>
            <div  class="templateContent active" id="vacation">
              Vacation Content
            </div>
            <div  class="templateContent" id="paidleave">
              Paid Leave Content
            </div>
            <div  class="templateContent" id="sickleave">
              Sick Leave Content
            </div>
            <div  class="templateContent" id="shiftswap">
              Shift Swap Content
            </div>
          </div>
        </div>
      </div>
    </div>
  <script type='text/javascript' src='scripts.js'></script>
  </body>
</html>

CSS

html, body {
  height: 100%;
  margin: 0;
  font-family: Arial;
  color: #ffffff;
}

a:active, a:link, a:hover, a:visited {
  text-decoration: none;
  color: #ffffff;
}

.wrapper {
  display: grid;
  grid-template-columns: 1fr 5fr;
  height: 100%;
  background: linear-gradient(150deg,#282533 15%,#506367 70%,#58675e 95%)
}

.sidebar {
  display: grid;
  grid-template-rows: 0fr auto;
  margin: 5px;
  padding: 5px;
  border: 2px solid #ffffff;
}

.sidebarHeader, .sidebarContent {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.main {
  display: grid;
  grid-template-rows: 0fr auto;
  margin: 5px;
  padding: 5px;
  border: 2px solid #ffffff;
}

.mainHeader {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
  text-align: right;
}

.mainContent {
  display: none;
  /*
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
  */
  text-align: right;
}

.mainContent.active {
  display: block;
}

.mainHeaderNav > ul {
  display: inline;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.mainLinks.active {
  border-bottom: 2px solid #00a2ff;
}

.mainLinks:hover {
  border-bottom: 2px solid #00a2ff;
}

.templateContainer {
  display: grid;
  grid-template-rows: 0fr auto;
  height: 100%;
}

.templateHeaderNav {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.templateHeaderNav > ul {
  display: inline;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.templateLinks.active {
  border-bottom: 2px solid #00a2ff;
}

.templateLinks:hover {
  border-bottom: 2px solid #00a2ff;
}

.templateContent {
  display: none;
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.templateContent.active {
  display: block;
}

JS

function openMenu(evt, menu) {
  // Declare all variables
  var i, mainContent, mainLinks;

  // Get all elements with class="mainContent" and hide them
  mainContent = document.getElementsByClassName("mainContent");
  for (i = 0; i < mainContent.length; i++) {
    mainContent[i].style.display = "none";
  }

  // Get all elements with class="mainLinks" and remove the class "active"
  mainLinks = document.getElementsByClassName("mainLinks");
  for (i = 0; i < mainLinks.length; i++) {
    mainLinks[i].className = mainLinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(menu).style.display = "block";
  evt.currentTarget.className += " active";
}

function openTemplate(evt, template) {
  // Declare all variables
  var i, templateContent, templateLinks;

  // Get all elements with class="templateContent" and hide them
  templateContent = document.getElementsByClassName("templateContent");
  for (i = 0; i < templateContent.length; i++) {
    templateContent[i].style.display = "none";
  }

  // Get all elements with class="templateLinks" and remove the class "active"
  templateLinks = document.getElementsByClassName("templateLinks");
  for (i = 0; i < templateLinks.length; i++) {
    templateLinks[i].className = templateLinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(template).style.display = "block";
  evt.currentTarget.className += " active";
}

Функция JavaScript в значительной степени скопирована из функций W3 Schools и Main и Sub tab точно так же, просто принимая разные имена классов. Я понимаю, что когда я переключаюсь с одной вкладки на другую, все другие вкладки, имеющие один и тот же класс, скрываются, что приводит к тому, что вкладки скрываются в других основных меню, однако я не могу понять, как ограничить эту вкладку для каждой основной вкладки. Базис.

Я прошу прощения за длинный пост и заранее благодарю.

function openMenu(evt, menu) {
  // Declare all variables
  var i, mainContent, mainLinks;

  // Get all elements with class="mainContent" and hide them
  mainContent = document.getElementsByClassName("mainContent");
  for (i = 0; i < mainContent.length; i++) {
    mainContent[i].style.display = "none";
  }

  // Get all elements with class="mainLinks" and remove the class "active"
  mainLinks = document.getElementsByClassName("mainLinks");
  for (i = 0; i < mainLinks.length; i++) {
    mainLinks[i].className = mainLinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(menu).style.display = "block";
  evt.currentTarget.className += " active";
}

function openTemplate(evt, template) {
  // Declare all variables
  var i, templateContent, templateLinks;

  // Get all elements with class="templateContent" and hide them
  templateContent = document.getElementsByClassName("templateContent");
  for (i = 0; i < templateContent.length; i++) {
    templateContent[i].style.display = "none";
  }

  // Get all elements with class="templateLinks" and remove the class "active"
  templateLinks = document.getElementsByClassName("templateLinks");
  for (i = 0; i < templateLinks.length; i++) {
    templateLinks[i].className = templateLinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(template).style.display = "block";
  evt.currentTarget.className += " active";
}
html, body {
  height: 100%;
  margin: 0;
  font-family: Arial;
  color: #ffffff;
}

a:active, a:link, a:hover, a:visited {
  text-decoration: none;
  color: #ffffff;
}

.wrapper {
  display: grid;
  grid-template-columns: 1fr 5fr;
  height: 100%;
  background: linear-gradient(150deg,#282533 15%,#506367 70%,#58675e 95%)
}

.sidebar {
  display: grid;
  grid-template-rows: 0fr auto;
  margin: 5px;
  padding: 5px;
  border: 2px solid #ffffff;
}

.sidebarHeader, .sidebarContent {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.main {
  display: grid;
  grid-template-rows: 0fr auto;
  margin: 5px;
  padding: 5px;
  border: 2px solid #ffffff;
}

.mainHeader {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
  text-align: right;
}

.mainContent {
  display: none;
  /*
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
  */
  text-align: right;
}

.mainContent.active {
  display: block;
}

.mainHeaderNav > ul {
  display: inline;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.mainLinks.active {
  border-bottom: 2px solid #00a2ff;
}

.mainLinks:hover {
  border-bottom: 2px solid #00a2ff;
}

.templateContainer {
  display: grid;
  grid-template-rows: 0fr auto;
  height: 100%;
}

.templateHeaderNav {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.templateHeaderNav > ul {
  display: inline;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.templateLinks.active {
  border-bottom: 2px solid #00a2ff;
}

.templateLinks:hover {
  border-bottom: 2px solid #00a2ff;
}

.templateContent {
  display: none;
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.templateContent.active {
  display: block;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="styles.css">
    <title></title>
  </head>
  <body>
    <div class="wrapper">
      <div class="sidebar">
        <div class="sidebarHeader">
          Sidebar Header
        </div>
        <div class="sidebarContent">
          Sidebar Content
        </div>
      </div>
      <div class="main">
        <div class="mainHeader">
          <nav class="mainHeaderNav">
            <ul><a class="mainLinks active" onclick="openMenu(event, 'template')" href="#">Template</a></a></ul>
            <ul><a class="mainLinks" onclick="openMenu(event, 'mails')" href="#">Mails</a></ul>
            <ul><a class="mainLinks" onclick="openMenu(event, 'ptos')" href="#">PTOs</a></ul>
          </nav>
        </div>
        <div class="mainContent active" id="template">
          <div class="templateContainer">
            <div class="templateHeader">
              <nav class="templateHeaderNav">
                <ul><a class="templateLinks active" onclick="openTemplate(event, 'localmajor')" href="#">Local & Major</a></a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'escalation')" href="#">Escalation</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'afterhours')" href="#">After Hours</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'gems')" href="#">GEMS</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'chat')" href="#">Chat</a></ul>
              </nav>
            </div>
            <div class="templateContent active" id="localmajor">
              Local & Major Template Content
            </div>
            <div class="templateContent" id="escalation">
              Escalation Template Content
            </div>
            <div class="templateContent" id="afterhours">
              After Hours Template Content
            </div>
            <div class="templateContent" id="gems">
              GEMS Template Content
            </div>
            <div class="templateContent" id="chat">
              Chat Template Content
            </div>
          </div>
        </div>
        <div class="mainContent" id="mails">
          <div class="templateContainer">
            <div class="templateHeader">
              <nav class="templateHeaderNav">
                <ul><a class="templateLinks active" onclick="openTemplate(event, 'localoffice')" href="#">Local Office</a></a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'majoraccount')" href="#">Major Account</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'quicklist')" href="#">Quick List</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'resellers')" href="#">Resellers</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'edc')" href="#">EDC</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, '3rdparty')" href="#">3rd Party</a></ul>
              </nav>
            </div>
            <div class="templateContent active" id="localoffice">
              Local Office Mails Content
            </div>
            <div class="templateContent" id="majoraccount">
              Major Account Mails Content
            </div>
            <div class="templateContent" id="quicklist">
              Quick List Mails Content
            </div>
            <div class="templateContent" id="resellers">
              Resellers Mails Content
            </div>
            <div class="templateContent" id="edc">
              EDC Mails Content
            </div>
            <div class="templateContent" id="3rdparty">
              3rd Party Mails Content
            </div>
          </div>
        </div>
        <div class="mainContent" id="ptos">
          <div class="templateContainer">
            <div class="templateHeader">
              <nav class="templateHeaderNav">
                <ul><a class="templateLinks active" onclick="openTemplate(event, 'vacation')" href="#">Vacation</a></a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'paidleave')" href="#">Paid Leave</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'sickleave')" href="#">Sick Leave</a></ul>
                <ul><a class="templateLinks" onclick="openTemplate(event, 'shiftswap')" href="#">Shift Swap</a></ul>
              </nav>
            </div>
            <div  class="templateContent active" id="vacation">
              Vacation Content
            </div>
            <div  class="templateContent" id="paidleave">
              Paid Leave Content
            </div>
            <div  class="templateContent" id="sickleave">
              Sick Leave Content
            </div>
            <div  class="templateContent" id="shiftswap">
              Shift Swap Content
            </div>
          </div>
        </div>
      </div>
    </div>
  <script type='text/javascript' src='scripts.js'></script>
  </body>
</html>

1 Ответ

0 голосов
/ 14 января 2020

Я изменил ваш код, чтобы он передавал имя вкладки при вызове openTemplate() и сбрасывает только вложенные вкладки, связанные с этой вкладкой. Теперь любые взаимодействия внутри одной вкладки не будут влиять на другие вкладки.

Я только изменил HTML и Javascript, а не CSS.


Файлы

function openMenu(evt, menu) {
  // Declare all variables
  var i, mainContent, mainLinks;

  // Get all elements with class="mainContent" and hide them
  mainContent = document.getElementsByClassName("mainContent");
  for (i = 0; i < mainContent.length; i++) {
    mainContent[i].style.display = "none";
  }

  // Get all elements with class="mainLinks" and remove the class "active"
  mainLinks = document.getElementsByClassName("mainLinks");
  for (i = 0; i < mainLinks.length; i++) {
    mainLinks[i].className = mainLinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(menu).style.display = "block";
  evt.currentTarget.className += " active";
}

function openTemplate(evt, template, tab) {
  // Declare all variables
  var i, templateContent, templateLinks;

  // Get all elements with class="templateContent" and hide them
  templateContent = document.getElementsByClassName("templateContent " + tab);
  for (i = 0; i < templateContent.length; i++) {
    templateContent[i].style.display = "none";
  }

  // Get all elements with class="templateLinks" and remove the class "active"
  templateLinks = document.getElementsByClassName("templateLinks " + tab);
  for (i = 0; i < templateLinks.length; i++) {
    templateLinks[i].className = templateLinks[i].className.replace(" active", "");
  }

  // Show the current tab, and add an "active" class to the button that opened the tab
  document.getElementById(template).style.display = "block";
  evt.currentTarget.className += " active";
}
html,
body {
  height: 100%;
  margin: 0;
  font-family: Arial;
  color: #ffffff;
}

a:active,
a:link,
a:hover,
a:visited {
  text-decoration: none;
  color: #ffffff;
}

.wrapper {
  display: grid;
  grid-template-columns: 1fr 5fr;
  height: 100%;
  background: linear-gradient(150deg, #282533 15%, #506367 70%, #58675e 95%)
}

.sidebar {
  display: grid;
  grid-template-rows: 0fr auto;
  margin: 5px;
  padding: 5px;
  border: 2px solid #ffffff;
}

.sidebarHeader,
.sidebarContent {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.main {
  display: grid;
  grid-template-rows: 0fr auto;
  margin: 5px;
  padding: 5px;
  border: 2px solid #ffffff;
}

.mainHeader {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
  text-align: right;
}

.mainContent {
  display: none;
  /*
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
  */
  text-align: right;
}

.mainContent.active {
  display: block;
}

.mainHeaderNav>ul {
  display: inline;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.mainLinks.active {
  border-bottom: 2px solid #00a2ff;
}

.mainLinks:hover {
  border-bottom: 2px solid #00a2ff;
}

.templateContainer {
  display: grid;
  grid-template-rows: 0fr auto;
  height: 100%;
}

.templateHeaderNav {
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.templateHeaderNav>ul {
  display: inline;
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.templateLinks.active {
  border-bottom: 2px solid #00a2ff;
}

.templateLinks:hover {
  border-bottom: 2px solid #00a2ff;
}

.templateContent {
  display: none;
  margin: 10px;
  padding: 10px;
  border: 2px solid #ffffff;
}

.templateContent.active {
  display: block;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">

<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="styles.css">
  <title></title>
</head>

<body>
  <div class="wrapper">
    <div class="sidebar">
      <div class="sidebarHeader">
        Sidebar Header
      </div>
      <div class="sidebarContent">
        Sidebar Content
      </div>
    </div>
    <div class="main">
      <div class="mainHeader">
        <nav class="mainHeaderNav">
          <ul><a class="mainLinks active" onclick="openMenu(event, 'template')" href="#">Template</a></a>
          </ul>
          <ul><a class="mainLinks" onclick="openMenu(event, 'mails')" href="#">Mails</a></ul>
          <ul><a class="mainLinks" onclick="openMenu(event, 'ptos')" href="#">PTOs</a></ul>
        </nav>
      </div>
      <div class="mainContent active" id="template">
        <div class="templateContainer">
          <div class="templateHeader">
            <nav class="templateHeaderNav">
              <ul><a class="template templateLinks active" onclick="openTemplate(event, 'localmajor', 'template')" href="#">Local & Major</a></a>
              </ul>
              <ul><a class="template templateLinks" onclick="openTemplate(event, 'escalation', 'template')" href="#">Escalation</a></ul>
              <ul><a class="template templateLinks" onclick="openTemplate(event, 'afterhours', 'template')" href="#">After Hours</a></ul>
              <ul><a class="template templateLinks" onclick="openTemplate(event, 'gems', 'template')" href="#">GEMS</a></ul>
              <ul><a class="template templateLinks" onclick="openTemplate(event, 'chat', 'template')" href="#">Chat</a></ul>
            </nav>
          </div>
          <div class="template templateContent active" id="localmajor">
            Local & Major Template Content
          </div>
          <div class="template templateContent" id="escalation">
            Escalation Template Content
          </div>
          <div class="template templateContent" id="afterhours">
            After Hours Template Content
          </div>
          <div class="template templateContent" id="gems">
            GEMS Template Content
          </div>
          <div class="template templateContent" id="chat">
            Chat Template Content
          </div>
        </div>
      </div>
      <div class="mainContent" id="mails">
        <div class="templateContainer">
          <div class="templateHeader">
            <nav class="templateHeaderNav">
              <ul><a class="mails templateLinks active" onclick="openTemplate(event, 'localoffice', 'mails')" href="#">Local Office</a></a>
              </ul>
              <ul><a class="mails templateLinks" onclick="openTemplate(event, 'majoraccount', 'mails')" href="#">Major Account</a></ul>
              <ul><a class="mails templateLinks" onclick="openTemplate(event, 'quicklist', 'mails')" href="#">Quick List</a></ul>
              <ul><a class="mails templateLinks" onclick="openTemplate(event, 'resellers', 'mails')" href="#">Resellers</a></ul>
              <ul><a class="mails templateLinks" onclick="openTemplate(event, 'edc', 'mails')" href="#">EDC</a></ul>
              <ul><a class="mails templateLinks" onclick="openTemplate(event, '3rdparty', 'mails')" href="#">3rd Party</a></ul>
            </nav>
          </div>
          <div class="mails templateContent active" id="localoffice">
            Local Office Mails Content
          </div>
          <div class="mails templateContent" id="majoraccount">
            Major Account Mails Content
          </div>
          <div class="mails templateContent" id="quicklist">
            Quick List Mails Content
          </div>
          <div class="mails templateContent" id="resellers">
            Resellers Mails Content
          </div>
          <div class="mails templateContent" id="edc">
            EDC Mails Content
          </div>
          <div class="mails templateContent" id="3rdparty">
            3rd Party Mails Content
          </div>
        </div>
      </div>
      <div class="mainContent" id="ptos">
        <div class="templateContainer">
          <div class="templateHeader">
            <nav class="templateHeaderNav">
              <ul><a class="ptos templateLinks active" onclick="openTemplate(event, 'vacation', 'ptos')" href="#">Vacation</a></a>
              </ul>
              <ul><a class="ptos templateLinks" onclick="openTemplate(event, 'paidleave', 'ptos')" href="#">Paid Leave</a></ul>
              <ul><a class="ptos templateLinks" onclick="openTemplate(event, 'sickleave', 'ptos')" href="#">Sick Leave</a></ul>
              <ul><a class="ptos templateLinks" onclick="openTemplate(event, 'shiftswap', 'ptos')" href="#">Shift Swap</a></ul>
            </nav>
          </div>
          <div class="ptos templateContent active" id="vacation">
            Vacation Content
          </div>
          <div class="ptos templateContent" id="paidleave">
            Paid Leave Content
          </div>
          <div class="ptos templateContent" id="sickleave">
            Sick Leave Content
          </div>
          <div class="ptos templateContent" id="shiftswap">
            Shift Swap Content
          </div>
        </div>
      </div>
    </div>
  </div>
  <script type='text/javascript' src='scripts.js'></script>
</body>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...