Tab.js 800 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. export class Tab {
  2. constructor( title ) {
  3. this.id = title.toLowerCase();
  4. this.button = document.createElement( 'button' );
  5. this.button.className = 'tab-btn';
  6. this.button.textContent = title;
  7. this.content = document.createElement( 'div' );
  8. this.content.id = `${this.id}-content`;
  9. this.content.className = 'profiler-content';
  10. this.isActive = false;
  11. this.isVisible = true;
  12. }
  13. setActive( isActive ) {
  14. this.button.classList.toggle( 'active', isActive );
  15. this.content.classList.toggle( 'active', isActive );
  16. this.isActive = isActive;
  17. }
  18. show() {
  19. this.content.style.display = '';
  20. this.button.style.display = '';
  21. this.isVisible = true;
  22. }
  23. hide() {
  24. this.content.style.display = 'none';
  25. this.button.style.display = 'none';
  26. this.isVisible = false;
  27. }
  28. }
粤ICP备19079148号