几种tab切换详解
1.鼠标移入移出切换
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>tab切换</title> <styletype="text/css"> *{padding:0;margin:0;} li{list-style:none;} .wrapper{ margin:0auto; width:100%; max-width:1140px; } .tabbox{ margin:40pxauto; width:400px; height:200px; border:1pxsolid#f70; overflow:hidden; } .tabbox.tab-tit{ position:relative; height:40px; } ul{ position:absolute; left:-1px; width:401px; height:40px; line-height:40px; background-color:#eaeaea; } ulli{ float:left; border-left:1pxsolid#f70; border-bottom:1pxsolid#f70; text-align:center; width:99px; height:40px; overflow:hidden; } .clear{clear:both;} .select{ padding-right:1px; border-bottom:none; background-color:#fff; } a:link,a:visited{ font-size:16px; font-weight:bold; color:#888; text-decoration:none; } .selecta{ color:#333; } a:hover,a:active{ color:#f20; font-weight:bold; } .tab-txt{ width:400px; padding:40px; overflow:hidden; } .demo{display:none;} .tab-txtp{ line-height:40px; } </style> </head> <body> <divclass="wrapper"> <divid="tabBox"class="tabbox"> <divid="tabTit"class="tab-tit"> <ul> <liclass="select"><ahref="javascript:;">女枪</a></li> <li><ahref="javascript:;">提莫</a></li> <li><ahref="javascript:;">盖伦</a></li> <li><ahref="javascript:;">剑圣</a></li> </ul> </div> <!--<divclass="clear"></div>--> <divid="tabTxt"class="tab-txt"> <divclass="demo"style="display:block;"> <p>我有两把枪,一把叫射,另一把叫,啊~</p> <p>你有一双迷人的眼睛,我非常喜欢!</p> </div> <divclass="demo"> <p>我去前面探探路</p> <p>提莫队长正在待命!</p> </div> <divclass="demo"> <p>放马过来吧,你会死的很光荣的!</p> <p>快点儿结束吧,我头有点儿转晕了……</p> </div> <divclass="demo"> <p>我的剑就是你的剑。</p> <p>眼睛多,看东西才会更加清楚</p> </div> </div> </div> </div> <scripttype="text/javascript"> function$(id){ returntypeofid==="string"?document.getElementById(id):id; } window.onload=function(){ vartits=$("tabTit").getElementsByTagName("li"); vartxts=$("tabTxt").getElementsByClassName("demo"); if(tits.length!=txts.length){return;} for(vari=0,l=tits.length;i<l;i++){ tits[i].id=i; tits[i].onmouseover=function(){ for(varj=0;j<l;j++){ tits[j].className=""; txts[j].style.display="none"; } this.className="select"; txts[this.id].style.display="block"; } } } </script> </body> </html>
2.鼠标移入移出延时切换
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>tab切换之延时切换</title> <styletype="text/css"> *{padding:0;margin:0;} li{list-style:none;} .wrapper{ margin:0auto; width:100%; max-width:1140px; } .tabbox{ margin:40pxauto; width:400px; height:200px; border:1pxsolid#f70; overflow:hidden; } .tabbox.tab-tit{ position:relative; height:40px; } ul{ position:absolute; left:-1px; width:401px; height:40px; line-height:40px; background-color:#eaeaea; } ulli{ float:left; border-left:1pxsolid#f70; border-bottom:1pxsolid#f70; text-align:center; width:99px; height:40px; overflow:hidden; } .clear{clear:both;} .select{ padding-right:1px; border-bottom:none; background-color:#fff; } a:link,a:visited{ font-size:16px; font-weight:bold; color:#888; text-decoration:none; } .selecta{ color:#333; } a:hover,a:active{ color:#f20; font-weight:bold; } .tab-txt{ width:400px; padding:40px; overflow:hidden; } .demo{display:none;} .tab-txtp{ line-height:40px; } </style> </head> <body> <divclass="wrapper"> <divid="tabBox"class="tabbox"> <divid="tabTit"class="tab-tit"> <ul> <liclass="select"><ahref="javascript:;">女枪</a></li> <li><ahref="javascript:;">提莫</a></li> <li><ahref="javascript:;">盖伦</a></li> <li><ahref="javascript:;">剑圣</a></li> </ul> </div> <!--<divclass="clear"></div>--> <divid="tabTxt"class="tab-txt"> <divclass="demo"style="display:block;"> <p>我有两把枪,一把叫射,另一把叫,啊~</p> <p>你有一双迷人的眼睛,我非常喜欢!</p> </div> <divclass="demo"> <p>我去前面探探路</p> <p>提莫队长正在待命!</p> </div> <divclass="demo"> <p>放马过来吧,你会死的很光荣的!</p> <p>快点儿结束吧,我头有点儿转晕了……</p> </div> <divclass="demo"> <p>我的剑就是你的剑。</p> <p>眼睛多,看东西才会更加清楚</p> </div> </div> </div> </div> <scripttype="text/javascript"> function$(id){ returntypeofid==="string"?document.getElementById(id):id; } window.onload=function(){ vartimer=null; vartits=$("tabTit").getElementsByTagName("li"); vartxts=$("tabTxt").getElementsByClassName("demo"); if(tits.length!=txts.length){return;} for(vari=0,l=tits.length;i<l;i++){ tits[i].id=i; tits[i].onmouseover=function(){ varthat=this; if(timer){ clearTimeout(timer); timer=null; } timer=setTimeout(function(){ for(varj=0;j<l;j++){ tits[j].className=""; txts[j].style.display="none"; } that.className="select"; txts[that.id].style.display="block"; },500); } } } </script> </body> </html>
3.tab自动切换,鼠标移入移出立即切换
<!DOCTYPEhtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>tab切换之自动切换</title> <styletype="text/css"> *{padding:0;margin:0;} li{list-style:none;} .wrapper{ margin:0auto; width:100%; max-width:1140px; } .tabbox{ margin:40pxauto; width:400px; height:200px; border:1pxsolid#f70; overflow:hidden; } .tabbox.tab-tit{ position:relative; height:40px; } ul{ position:absolute; left:-1px; width:401px; height:40px; line-height:40px; background-color:#eaeaea; } ulli{ float:left; border-left:1pxsolid#f70; border-bottom:1pxsolid#f70; text-align:center; width:99px; height:40px; overflow:hidden; } .clear{clear:both;} .select{ padding-right:1px; border-bottom:none; background-color:#fff; } a:link,a:visited{ font-size:16px; font-weight:bold; color:#888; text-decoration:none; } .selecta{ color:#333; } a:hover,a:active{ color:#f20; font-weight:bold; } .tab-txt{ width:400px; padding:40px; overflow:hidden; } .demo{display:none;} .tab-txtp{ line-height:40px; } </style> </head> <body> <divclass="wrapper"> <divid="tabBox"class="tabbox"> <divid="tabTit"class="tab-tit"> <ul> <liclass="select"><ahref="javascript:;">女枪</a></li> <li><ahref="javascript:;">提莫</a></li> <li><ahref="javascript:;">盖伦</a></li> <li><ahref="javascript:;">剑圣</a></li> </ul> </div> <!--<divclass="clear"></div>--> <divid="tabTxt"class="tab-txt"> <divclass="demo"style="display:block;"> <p>我有两把枪,一把叫射,另一把叫,啊~</p> <p>你有一双迷人的眼睛,我非常喜欢!</p> </div> <divclass="demo"> <p>我去前面探探路</p> <p>提莫队长正在待命!</p> </div> <divclass="demo"> <p>放马过来吧,你会死的很光荣的!</p> <p>快点儿结束吧,我头有点儿转晕了……</p> </div> <divclass="demo"> <p>我的剑就是你的剑。</p> <p>眼睛多,看东西才会更加清楚</p> </div> </div> </div> </div> <scripttype="text/javascript"> function$(id){ returntypeofid==="string"?document.getElementById(id):id; } window.onload=function(){ varindex=0; vartimer=null; vartits=$("tabTit").getElementsByTagName("li"); vartxts=$("tabTxt").getElementsByClassName("demo"); if(tits.length!=txts.length){return;} for(vari=0,l=tits.length;i<l;i++){ tits[i].id=i; tits[i].onmouseover=function(){ clearInterval(timer); styleFun(this.id); } tits[i].onmouseout=function(){ timer=setInterval(autoPlay,2000); } } //在开启定时器的同时清楚定时器并置空 if(timer){ clearInterval(timer); timer=null; } timer=setInterval(autoPlay,2000); functionautoPlay(){ index++; if(index>=tits.length){ index=0; } styleFun(index); } functionstyleFun(ele){ for(varj=0,m=tits.length;j<m;j++){ tits[j].className=""; txts[j].style.display="none"; } tits[ele].className="select"; txts[ele].style.display="block"; //将鼠标移入移出时的index传给autoPlay; index=ele; } } </script> </body> </html>
4.广告栏切换实例
<!doctypehtml> <htmllang="en"> <head> <metacharset="UTF-8"> <title>Document</title> <style> *{ margin:0; padding:0; list-style:none; } .wrap{ height:170px; width:490px; margin:20pxauto; overflow:hidden; position:relative; margin:100pxauto; } .wrapul{ position:absolute; } .wrapulli{ height:170px; } .wrapol{ position:absolute; right:5px; bottom:10px; } .wrapolli{ height:20px; width:20px; background:#ccc; border:solid1px#666; margin-left:5px; color:#000; float:left; line-height:center; text-align:center; cursor:pointer; } .wrapol.on{ background:#E97305; color:#fff; } </style> <scripttype="text/javascript"> window.onload=function(){ varwrap=document.getElementById('wrap'), pic=document.getElementById('pic'), piclist=pic.getElementsByTagName('li'), list=document.getElementById('list').getElementsByTagName('li'), picheight=170, index=0, timer=null; if(piclist.length!=list.length){ return; } //定义并调用自动播放函数 if(timer){ clearInterval(timer); timer=null; } timer=setInterval(picFunc,2000); functionpicFunc(){ index++; if(index>=piclist.length){ index=0; } changePic(index); } //定义图片切换函数 functionchangePic(ele){ for(varj=0,m=piclist.length;j<m;j++){ list[j].className=""; } pic.style.top=-ele*picheight+"px"; list[ele].className="on"; index=ele; } //鼠标划过整个容器时停止自动播放 wrap.onmouseover=function(){ clearInterval(timer); } //鼠标离开整个容器时继续播放至下一张 wrap.onmouseout=function(){ timer=setInterval(picFunc,2000); } //遍历所有数字导航实现划过切换至对应的图片 for(vari=0,l=list.length;i<l;i++){ list[i].id=i; list[i].onmouseover=function(){ changePic(this.id); } } } </script> </head> <body> <divclass="wrap"id='wrap'> <ulid="pic"> <li><imgsrc="http://img.mukewang.com/54111cd9000174cd04900170.jpg"alt=""></li> <li><imgsrc="http://img.mukewang.com/54111dac000118af04900170.jpg"alt=""></li> <li><imgsrc="http://img.mukewang.com/54111d9c0001998204900170.jpg"alt=""></li> <li><imgsrc="http://img.mukewang.com/54111d8a0001f41704900170.jpg"alt=""></li> <li><imgsrc="http://img.mukewang.com/54111d7d00018ba604900170.jpg"alt=""></li> </ul> <olid="list"> <liclass="on">1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ol> </div> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!