tab.js 610 B

12345678910111213141516171819
  1. 'use strict';
  2. (() => {
  3. for (const container of document.querySelectorAll('.tab-container')) {
  4. init(container);
  5. }
  6. function init(container) {
  7. const tabButtons = [...container.querySelector('.tab-bar').children];
  8. const tabPanels = [...container.querySelector('.tab-panel').children];
  9. tabButtons.forEach((button, i) => button.addEventListener('click', () => activate(i)));
  10. function activate(index) {
  11. const toggleActive = (button, i) => button.classList.toggle('active', i === index);
  12. tabButtons.forEach(toggleActive);
  13. tabPanels.forEach(toggleActive);
  14. }
  15. }
  16. })();