js进阶 11-22/23 js如何实现选项卡
js进阶 11-22/23 js如何实现选项卡
一、总结
一句话总结:通过索引把选项卡头的li标签和选项卡内容的div标签联系在一起,通过控制div标签的display属性可以实现选项卡的选项切换。
1、某些样式设置了,但是出不来效果的原因可能是什么?
优先级会导致某些特效出不来
现在设置的优先级低于之前的
可以通过加父标签的方式来增加优先级
2、如何增加样式的优先级?
可以通过加父标签的方式来增加优先级
3、如何实现一组标签中点某个标签,这个标签的样式改变?
动态给点的标签添加一个自己写好的激活样式
71 oli[this.index].className="active";
4、如何消除一个元素的所有类?
dom对象的className赋空值
67 oli[j].className="";
5、如何让一个隐藏的元素显示?
将dom对象的style的display属性设置为none
68 li_content[j].style.display='none'
6、如何获取一个id为content的div里面的另外的div?
getElement的链式写法(因为getElement是document的方法,其实也是dom对象的方法)
57 var li_content= document.getElementById('content').getElementsByTagName('div')
二、js如何实现选项卡
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>选项卡2</title> 6 <style> 7 *{margin:0px;padding: 0px } 8 body{padding: 50px} 9 #list{ 10 list-style-type: none; 11 height: 30px; 12 font-size: 14px 13 } 14 #list li{ 15 width: 80px; 16 margin-right: 5px; 17 height: 30px; line-height: 30px; 18 text-align: center; 19 border: solid green 1px;border-bottom: none; 20 border-radius: 5px 5px 0 0; 21 float: left; 22 cursor: pointer; 23 } 24 #content div{ 25 width: 400px; 26 height: 150px; 27 border:1px solid green; 28 display: none; 29 background: rgba(100,50,20,0.2); 30 } 31 #content div.show{display: block;} 32 #list li:hover{ 33 background: rgba(100,50,20,0.4); 34 } 35 .active{background: rgba(100,50,20,0.2);} 36 </style> 37 </head> 38 <body> 39 <div id="tab"> 40 <ul id="list"> 41 <li class="active">第一部分</li> 42 <li>第二部分</li> 43 <li>第三部分</li> 44 </ul> 45 <div id="content"> 46 <div class="show">JS进阶......</div> 47 <div>JQ精讲......</div> 48 <div>JS+JQ+CSS3特效、技巧、案例专题......</div> 49 </div> 50 </div> 51 <script> 52 // var list=document.getElementById('list') 53 // var content=document.getElementById('content') 54 // var oli=list.getElementsByTagName('li') 55 // var li_content= content.getElementsByTagName('div') 56 var oli=document.getElementById('list').getElementsByTagName('li') 57 var li_content= document.getElementById('content').getElementsByTagName('div') 58 for(var i=0;i<oli.length;i++){ 59 oli[i].index=i 60 oli[i].onclick=function(){ 61 62 //首先获取到当前被点击li的索引 63 //alert(this.index) 64 65 //点击后让相应的div显示到当前 66 for(var j=0;j<li_content.length;j++){ 67 oli[j].className=""; 68 li_content[j].style.display='none' 69 } 70 li_content[this.index].style.display='block'; 71 oli[this.index].className="active"; 72 73 } 74 } 75 </script> 76 </body> 77 </html>
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672