<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0" > <meta http-equiv="X-UA-Compatible" content="ie=edge" > <title>基于html、css、javascript的选项卡</title> <style> * { margin: 0; padding: 0; } body { background-color: aquamarine; } ul, ol, li { list-style: none; } .tab { width: 600px; height: 400px; border: 10px solid yellow; margin: 50px auto; display: flex; flex-direction: column; } ul { height: 60px; display: flex; } ul>li { flex: 1; display: flex; justify-content: center; align-items: center; font-size: 40px; color: #fff; background-color: cyan; cursor: pointer; } ul>li.active { background-color: orange; } ol { flex: 1; position: relative; } ol>li { position: absolute; left: 0; top: 0; width: 100%; height: 100%; font-size: 100px; color: #fff; background-color: cornsilk; display: none; justify-content: center; align-items: center; } ol>li.active { display: flex; } </style> </head> <body> <div class="tab"> <ul> <li class="active">1</li> <li>2</li> <li>3</li> </ul> <ol> <li class="active">1</li> <li>2</li> <li>3</li> </ol> </div> <script> function Tabs(ele) { this.ele = document.querySelector(ele) this.btns = this.ele.querySelectorAll('ul > li') this.tabs = this.ele.querySelectorAll('ol > li') } Tabs.prototype.change = function () { var _this = this for (var i = 0; i < this.btns.length; i++) { this.btns[i].setAttribute('index', i) this.btns[i].addEventListener('click', function () { for (var j = 0; j < _this.btns.length; j++) { _this.btns[j].className = '' _this.tabs[j].className = '' } this.className = 'active' var index = this.getAttribute('index') - 0 _this.tabs[index].className = 'active' }) } } var t = new Tabs('.tab') t.change() </script> </body> </html>
基于html、css、javascript的选项卡网页设计
最新推荐文章于 2025-04-07 22:20:05 发布