先说一下最土的一种方法 :
Html:
<Div> <h2 id = "tab1" onmouseover = "changeTab1 ()"> 1 </h2> <h2 id = "tab2" onmouseover = "changeTab2 ()"> 2 </h2> <h2 id = "tab3" onmouseover = "changeTab3 ()"> 3 </h2 Id =/div> div> div = "Conte" CICEB3 () "> 3 </h2> </Div> div> Div1" conte "CICE1 ()"> 3 </h2> </div> div> div> div = "CONDEP1 ()"> 3 </h2> </div ID = "C2"> Content2 </div> <div id = "C3"> Content3 </div> </div>
CSS:
h2 {border-top: solid cornflowerblue 1px; border-left: solid cornflowerblue 1px; lebar: 50px; tinggi: 25px; margin: 0; float: kiri; text-align: center;}.} Tab-content {border: solid cornflower 1px; lebar: 152px; high-content: 100p: {100px; {latar belakang-color: cornflowerblue;}. Tab-content .show {display: block;}JS:
var tab1 = document.geteLementById ('tab1'), tab2 = document.geteLementById ('tab2'), tab3 = document.geteLementById ('tab3'), c1 = document.geteLementById ('c1'), c2 = document.getElementById ('c2'), c3 = document.getelement. {tab1.className = 'dipilih'; tab2.classname = ''; tab3.classname = ''; c1.className = 'show'c2.classname =' '; c3.classname =' ';} function changeTab2 () {tab1.classname =' '; tab2.'; 'classname =' classname ='. '; ''; c2.classname = 'show'; c3.classname = '';} function changeTab3 () {tab1.classname = ''; tab2.classname = ''; tab3.className = 'dipilih'; c1.classname = '' c1.classname = ''; classname = ';效果 :
实现 tab 的切换 , 我们很容易想到的一种方式就是给每一个要控制的标签添加 id , 然后分别编写鼠标事件 , 使用 id 获取每个元素 , 精确地控制每个元素的样式。
这种方式的缺点显而易见 , 有几个元素就有几个 ID , 每个 Tab 都要编写 Fungsi , 里面的方法大同小异。要增加 tab 的话 , 还要增加 ID 和 Fungsi , 代码冗余 , ,
第二种较为高明些的方法是编写一个 Fungsi , 将每个元素的序号传进去。
Html :
<Div> <h2 onmouseover = "changeTab (0)"> 1 </h2> <h2 onmouseover = "changeTab (1)"> 2 </h2> <h2 onmouseover = "changeTab (2)"> 3 </h2> </dv> <v> <v> Content1 </Div> Content2 </H2> </Div> <v> <v> Content1 </Div> Content2 </H2> </Div> <v> Content1
JS :
var tabs = document.geteLementsbyclassname ('tab-head') [0] .geteLementsbyTagname ('h2'), konten = document.getElementsbyclassName ('tab-content') [0] .getElementsByTagname ('div'); function changeTab (index) {for (var i = 0, len = len = Function; len; iP; iP; iP; iP; iP; IFET; index) {tabs [i] .className = 'dipilih'; konten [i] .className = 'show';} else {tabs [i] .className = ''; konten [i] .className = ''; }}}这样就只要写一个 Fungsi 了 , 而且不需要 id , ,
第三种方式和第二种基本一样 , 只是参数传递的是 ini 指针。
Html :
<dv> <h2 onmouseover = "changeTab (this)"> 1 </h2> <h2 onmouseover = "changeTab (this)"> 2 </h2> <h2 onmouseover = "changeTab (this)"> 3 </h2> </Div> <v> <v> Content1 </Div> Content2 </H2> </Div> <v> <v> Content1 </Div> Content2 </H2> </Div> <v> <v> Content1 </Div> Content2 </H2> </Div> <v> Conten
JS :
var tabs = document.geteLementsbyclassName ('tab-head') [0] .geteLementsbyTagname ('h2'), contents = document.geteLementsbyclassName ('tab-content') [0] .getElementsByTagname ('div'); function changeTab (tab) {untuk (var i = 0, len = Len = function; iPe; iP; iP; iP; iP; iP; iP; iP; iP (for for. {if (tabs [i] === tab) {tabs [i] .classname = 'dipilih'; konten [i] .className = 'show';} else {tabs [i] .className = '';这种方式稍微方便一些 , 只要传递 ini 指针 , 不用按照顺序传递序号 , ,
最简便的一种 :
第四种方式 :
Html :
<hv> <h2> 1 </h2> <h2> 2 </h2> <h2> 3 </h2> </div> <div> <div> Content1 </div> <ver> Content2 </Div> <ver> Content3 </Div> </Div>
JS :
var tabs = document.geteLementsbyclassname ('tab-head') [0] .geteLementsbyTagname ('h2'), content = document.geteLementsbyclassname ('tab-content') [0] .getElementsByTagname ('dive'); (function changeTab (tab) {untuk (var i = 0, 'dive'); (function changeTab (tab) {untuk (var i = 0, 'dive'); (function changeTab (tab) {untuk (var i = 0, {tabs [i] .onmouseOver = showtab;}}) (); function showtab () {for (var i = 0, len = tabs.length; i <len; i ++) {if (tabs [i] === this) {tabs nere; {tabs [i] .className = ''; konten [i] .className = '';}}}这样 js 、 html 、 css 就完全分离了 , 通过 ini 指针就可以判断当前鼠标滑过的是哪一个 tab 了。
以上所述是小编给大家介绍的最简单纯 JavaScript 实现 tab 标签页切换的方式 (推荐) , 希望对大家有所帮助 , 如果大家有任何疑问请留言 , 小编会及时回复大家的 , 在此也非常感谢大家对武林网网站的支持!