一种用户界面模式,允许在内容的上方,下方或侧面显示带有导航参考的多个页面或元素。单击导航参考时,一个元素可见,而其他元素则关闭。通常,导航参考以指示其当前可见的方式进行颜色编码。
所以我正在制作一个小游戏,并且我正在尝试制作子选项卡。但问题是当我单击“打开子选项卡”按钮时,它会隐藏整个子选项卡。这是我的 HTML 代码: 所以我正在制作一个小游戏,并且我正在尝试制作子选项卡。但问题是当我单击“打开子选项卡”按钮时,它会隐藏整个子选项卡。这是我的 HTML 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="A game about a person trying to analyze all chess positions"> <link rel="stylesheet" href="./css/main.css"> <link rel="stylesheet" href="./css/pc-upgrade.css"> <link rel="stylesheet" href="./css/tab.css"> </head> <body> <div class="tab"> <button class="tablinks" onclick="openTab(event, 'pc')">PC</button> <button class="tablinks" onclick="openTab(event, 'upgrades')">Upgrades</button> <button class="tablinks" onclick="openTab(event, 'options')">Options</button> </div> <div id="pc" class="tabcontent"> <div class="subtab"> <button class="tablinks" onclick="openTab(event, 'cpu')">CPU</button> </div> <div id="cpu" class="subtabcontent"> <div class="stat"> <div id="positions"></div> <div id="pps"></div> </div> <div class="cpustats"> <div id="cpuCount"></div> <div id="mult"></div> <button id="buycpu"></button> </div> <div class="pc-upgrade"> <div id="cpu-upgrade"> <div id="boosterCount"></div> <button class="disabled" id="booster"></button> </div> </div> </div> <div id="upgrades" class="tabcontent"> <div id="u1">PLACEHOLDER</div> </div> <div id="options" class="tabcontent"> <button id="savegame">Save your game</button> <button id="loadgame">Load your game</button> </div> <script src="js/pc-upgrade.js"></script> <script src="js/main.js"></script> <script src="js/tabs.js"></script> <script src="js/save.js"></script> </body> </html> 打开标签页的JS代码: function openTab(evt, tabName) { var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } document.getElementById(tabName).style.display = "block"; evt.currentTarget.className += " active"; } document.addEventListener('DOMContentLoaded', function() { openTab(event, 'pc'); openSubTab(event, 'cpu'); }); function openSubTab(evt, subTabName) { var i, subtabcontent, subtablinks; subtabcontent = document.getElementsByClassName("subtabcontent"); for (i = 0; i < subtabcontent.length; i++) { subtabcontent[i].style.display = "none"; } subtablinks = document.getElementsByClassName("subtablinks"); for (i = 0; i < subtablinks.length; i++) { subtablinks[i].className = subtablinks[i].className.replace(" active", ""); } document.getElementById(subTabName).style.display = "block"; evt.currentTarget.className += " active"; } 以及装饰选项卡的 CSS 代码: .tab { overflow: hidden; border: 1px solid #ccc; } .tab button:hover { background-color: #ddd; } .tab button.active { background-color: #ccc; } .tabcontent { display: none; padding: 6px 12px; border-top: none; } .subtab { overflow: hidden; border: 1px solid #ccc; } .subtab button { background-color: inherit; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; } .subtab button:hover { background-color: #ddd; } .subtab button.active { background-color: #ccc; } .subtabcontent { display: none; padding: 6px 12px; border-top: none; } 我研究了几个小时,但找不到任何有用的东西。我期待它会打开“CPU”子选项卡,但我不知道还要写什么。 任何帮助表示赞赏! 根据我的理解,你想要一个子菜单或某种类似的菜单 所以我改变了你的javascript代码(实际上我删除了整个代码并重写了它)以获得你想要的子菜单。 这是片段: // here we calling the objects: const pc_btn = document.querySelector('#pc_btn') const pc_subtab = document.querySelector('#pc') const upg_btn = document.querySelector('#upg_btn') const upg_subtab = document.querySelector('#upgrades') const opt_btn = document.querySelector('#opt_btn') const opt_subtab = document.querySelector('#options') // here are the functions: pc_btn.addEventListener('click',function(){ pc_subtab.classList.toggle('active') upg_subtab.classList.remove('active') opt_subtab.classList.remove('active') }) upg_btn.addEventListener('click',function(){ upg_subtab.classList.toggle('active') pc_subtab.classList.remove('active') opt_subtab.classList.remove('active') }) opt_btn.addEventListener('click',function(){ opt_subtab.classList.toggle('active') pc_subtab.classList.remove('active') upg_subtab.classList.remove('active') }) .tab { overflow: hidden; border: 1px solid #ccc; } .tab button:hover { background-color: #ddd; } .tab button.active { background-color: #ccc; } .tabcontent { display: none; padding: 6px 12px; border-top: none; } .active{ display: block; } .subtab { overflow: hidden; border: 1px solid #ccc; } .subtab button { background-color: inherit; border: none; outline: none; cursor: pointer; padding: 14px 16px; transition: 0.3s; } .subtab button:hover { background-color: #ddd; } .subtab button.active { background-color: #ccc; } .subtabcontent { display: none; padding: 6px 12px; border-top: none; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="A game about a person trying to analyze all chess positions"> <link rel="stylesheet" href="1.css"> </head> <body> <div class="tab"> <!-- I changed the code a bit here (i added the ids and removed the onclicks) --> <button class="tablinks" id="pc_btn">PC</button> <button class="tablinks" id="upg_btn">Upgrades</button> <button class="tablinks" id="opt_btn">Options</button> </div> <div id="pc" class="tabcontent"> <div class="subtab"> <button class="tablinks">CPU</button> </div> <div id="cpu" class="subtabcontent"> <div class="stat"> <div id="positions"></div> <div id="pps"></div> </div> <div class="cpustats"> <div id="cpuCount"></div> <div id="mult"></div> <button id="buycpu"></button> </div> <div class="pc-upgrade"> <div id="cpu-upgrade"> <div id="boosterCount"></div> <button class="disabled" id="booster"></button> </div> </div> </div> </div><!-- i think you had forgotten this </div> to close the #pc div --> <div id="upgrades" class="tabcontent"> <div id="u1">PLACEHOLDER</div> </div> <div id="options" class="tabcontent"> <button id="savegame">Save your game</button> <button id="loadgame">Load your game</button> </div> </body> <script src="1.js"></script> </html> 我希望它能解决您的问题,祝您有美好的一天。
编写一个循环来检查所有选项卡、工作表计数、基于 3 个单元格值的选项卡颜色变化
我有一个带有多个选项卡的电子表格。这是为了定价。第一个选项卡可以在 4 行中更改,以更改位于其自己选项卡上的每个零件编号的利润。我想要一个循环代码...
在我们的网页中,我们有各种在新选项卡中打开的链接,但显然我们在使用 Cypress 时需要在同一选项卡中打开它们。 我试过了 cy.get('tr td:nth-child(9)').eq(index).invoke('删除...
我希望能够使选项卡栏中所选选项卡的下划线与该选项卡的文本一样长(如下所示)。我相信我的问题是我有一个 SizedBox ,它定义了 w...
在 Firefox 中打开一个新选项卡并将 ff 保留在后台
是否有一种方法可以在 Firefox 中以编程方式在新选项卡中打开 URL,而无需 Firefox 获得焦点? 到目前为止我发现了什么: firefox -new-window 让 ff 留在后台,但打开...
我制作了一个长度为3的标签栏的个人资料页面,并且在应用栏中有一个保存图标。 3 个页面(选项卡)视图位于不同的文件中。 有什么办法可以保存所有 3 个数据...
使 Elementor 产品数据选项卡上的评论选项卡处于活动状态
我们正在使用 Elementor Pro 和主题,并尝试设计单个产品页面模板的样式。 问题是,Elementor 只有一个独立的产品评级元素,用于显示总体评级。 那...
有没有办法更改 Vim 中的选项卡顺序(即更改选项卡栏中选项卡的位置)?例如,假设我当前的选项卡按以下顺序排列: 一个 |乙| C | D 但我想换...
如何将 Bootstrap 4 导航选项卡与手风琴 show.bs 和 hide.bs 功能一起使用?
有没有一种方法,如果我单击 Maintab 2 的按钮将激活 Maintab 2 内容并显示可折叠组项目 #2 的手风琴内容。我也将在...
我尝试使用指示器制作TabBar,但选项卡项目没有填充剩余空间,因此指示器只是包裹文本。我想设置指示器来填充剩余空间。 这是我的代码
每次我在 CSS 中添加选择器并按 Enter 定义属性时,结果都会像这样: #选择器{ 适当的价值; } (8 个空格制表符) 我如何配置 Vim 使其像...
我正在使用选项卡左侧位置的 TabPanel。当页面比例缩小到 90% 时,左侧选项卡会损坏。在Google Chrome 54.0.2840.59 m(64位)中看到,在Firefox最新版本中似乎没问题。 ...
我正在使用 flutter_animator 3.2.0 来实现点击选项卡栏时的动画。一切都很好,但是当滚动/滑动到下一个选项卡时。动画不起作用,我尝试过使用选项卡继续...
如何在 iPadOS 和 macOS 中创建(浏览器样式)选项卡和侧边栏
iPadOS 和 macOS 上似乎有一些应用程序使用左侧可折叠侧边栏(拆分视图?)的范例,您可以在其中选择所需的内容,以及一个“文档”区域...
Jquery UI 选项卡,重新排列选项卡后选项卡选择不一致
我正在使用 Jquery UI 选项卡进行向导应用程序。重新排列选项卡(客户端要求的一部分)后,选择索引不一致。我们不能允许 jquery 在选项卡上进行排序,因为只有
我创建了一个带有 HTML5 视频播放器和 blob url 的页面,并且阻止了对下载按钮的访问,一切正常,但当我通过查看代码检索 blob url 时遇到问题...
我的 QTabWidget 与鼠标交互的行为非常不稳定。 它是一个使用 QTabWidget 作为中央小部件的主窗口,并且选项卡是动态创建的。 这里的构造...
我有两个带有许多选项卡的Excel工作簿,但是两个Excel文件之间的它们是相同的,并且顺序相同。 这是用于财务报告,我可以在其中获得每月更新(实际数据)和...
我有两个带有许多选项卡的Excel工作簿,但是两个Excel文件之间的它们是相同的,并且顺序相同。 这是用于财务报告,我可以在其中获得每月更新(实际数据)和...
我想创建一个带有选项卡的底板,选项卡下方有一个选项卡视图可以滚动,而无需滚动选项卡及其上方的手柄。当把手拉起时,底部...