Home >Web Front-end >Front-end Q&A >How to write tabs in javascript
With the development of the Internet, website interfaces have become more and more cool, and Tab tabs have become one of the common UI elements in modern websites. This article will introduce how to use JavaScript to write tabs to make your website more modern.
First, we need to create the tab structure in HTML, which can be the following code:
<div class="tab-container"> <ul class="tab-nav"> <li class="tab-nav-item active">Tab 1</li> <li class="tab-nav-item">Tab 2</li> <li class="tab-nav-item">Tab 3</li> </ul> <div class="tab-content active">Tab 1 content</div> <div class="tab-content">Tab 2 content</div> <div class="tab-content">Tab 3 content</div> </div>
The above HTML structure contains A tab container (tab-container) is created, which contains a tab navigation bar (tab-nav) and tab content (tab-content). In a navigation bar, each tab is a list item (tab-nav-item), and the currently selected tab can be indicated by adding an "active" class. In the content, you can also indicate the content of the currently selected tab by adding the "active" class.
Next, we need to add styles to the tabs and content, you can use the following code:
.tab-container { display: flex; flex-direction: column; margin: 20px; border: 1px solid #ccc; border-radius: 4px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 6px; } .tab-nav { display: flex; justify-content: space-between; align-items: center; background: #eee; padding: 10px; } .tab-nav-item { cursor: pointer; padding: 10px; border-radius: 4px; transition: all 0.3s ease; } .tab-nav-item:hover { background: #fff; } .tab-nav-item.active { background: #fff; font-weight: bold; } .tab-content { padding: 20px; display: none; } .tab-content.active { display: block; }
The above CSS style settings It includes the location, size, border, shadow and other properties of the tab container, as well as the style of the navigation bar and tab content. Note that the display property of the tab content is set to none, which will only be displayed when the corresponding tab is selected.
Finally, we need to write JavaScript code to make the tab switch display on click. You can use the following code:
const tabs = document.querySelectorAll('.tab-nav-item'); const contents = document.querySelectorAll('.tab-content'); for (let i = 0; i < tabs.length; i++) { tabs[i].addEventListener('click', function() { // 首先隐藏所有选项卡内容 for (let j = 0; j < contents.length; j++) { contents[j].classList.remove('active'); } // 设置当前选中的选项卡添加 "active" 类 for (let j = 0; j < tabs.length; j++) { tabs[j].classList.remove('active'); } this.classList.add('active'); contents[i].classList.add('active'); }); }
The above JavaScript code uses an event listener to implement the function of switching the corresponding tab content when the tab navigation bar is clicked. First, hide all tab content, then set the currently selected tab and corresponding content to add the "active" class to achieve the effect of displaying the tab content.
Finally, we combine the above HTML, CSS and JavaScript codes to form the complete code as follows:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Tab 选项卡</title> <style> .tab-container { display: flex; flex-direction: column; margin: 20px; border: 1px solid #ccc; border-radius: 4px; overflow: hidden; box-shadow: rgba(0, 0, 0, 0.2) 0px 2px 6px; } .tab-nav { display: flex; justify-content: space-between; align-items: center; background: #eee; padding: 10px; } .tab-nav-item { cursor: pointer; padding: 10px; border-radius: 4px; transition: all 0.3s ease; } .tab-nav-item:hover { background: #fff; } .tab-nav-item.active { background: #fff; font-weight: bold; } .tab-content { padding: 20px; display: none; } .tab-content.active { display: block; } </style> </head> <body> <div class="tab-container"> <ul class="tab-nav"> <li class="tab-nav-item active">Tab 1</li> <li class="tab-nav-item">Tab 2</li> <li class="tab-nav-item">Tab 3</li> </ul> <div class="tab-content active">Tab 1 content</div> <div class="tab-content">Tab 2 content</div> <div class="tab-content">Tab 3 content</div> </div> <script> const tabs = document.querySelectorAll('.tab-nav-item'); const contents = document.querySelectorAll('.tab-content'); for (let i = 0; i < tabs.length; i++) { tabs[i].addEventListener('click', function() { // 首先隐藏所有选项卡内容 for (let j = 0; j < contents.length; j++) { contents[j].classList.remove('active'); } // 设置当前选中的选项卡添加 "active" 类 for (let j = 0; j < tabs.length; j++) { tabs[j].classList.remove('active'); } this.classList.add('active'); contents[i].classList.add('active'); }); } </script> </body> </html>
Now, You can implement a Tab tab yourself by copying and pasting the above code to make your website more modern.
The above is the detailed content of How to write tabs in javascript. For more information, please follow other related articles on the PHP Chinese website!