JavaScript實現點選切換功能
阿新 • • 發佈:2021-01-29
本文例項為大家分享了JavaScript實現點選切換功能的具體程式碼,供大家參考,具體內容如下
在實際應用中,點選或者移入某一元素上,彈出下拉選單或者頁面,是網頁設計的常見操作。
下面我們實現一種點選選單實現選單切換,使用js提供三種方式實現該功能。
1.使用html設計基本結構
<body> <h2>多Tab點選切換</h2> <ul id="tab"> <li id="tab1" value="1">10元套餐</li> <li id="tab2" value="2">30元套餐</li> <li id="tab3" value="3">50元包月</li> </ul> <div id="container"> <div id="content1"> 10元套餐詳情:<br/> 每月套餐內撥打100分鐘,超出部分2毛/分鐘 </div> <div id="content2" style="display: none"> 30元套餐詳情:<br/> 每月套餐內撥打300分鐘,超出部分1.5毛/分鐘 </div> <div id="content3" style="display: none"> 50元包月詳情:<br/> 每月無限量隨心打 </div> </div> </body>
2.使用css設計基本樣式
<style> * { margin: 0; padding: 0; } #tab li { float: left; list-style: none; width: 80px; height: 40px; line-height: 40px; cursor: pointer; text-align: center; } #container { position: relative; } #content1,#content2,#content3 { width: 300px; height: 100px; padding: 30px; position: absolute; top: 40px; left: 0; } #tab1,#content1 { background-color: #ffcc00; } #tab2,#content2 { background-color: #ff00cc; } #tab3,#content3 { background-color: #00ccff; } </style>
3.js實現點選切換功能
//原生js var container=document.querySelectorAll('#container>div') var event_li=document.querySelectorAll('#tab>li') var currentindex=0 for(var i=0;i<event_li.length;i++){ event_li[i].num=i event_li[i].onclick=function(){ container[currentindex].style.display='none' var index_other=this.num container[index_other].style.display='block' currentindex=index_other }}
//jQuery實現,點選一下父元素,子元素全部display_none,再將點選事件的元素的子元素設定為display_block var $container=$('#container>div') $('#tab>li').click(function(){ $container.css('display','none') var index=$(this).index() var index_other=$(this).val()-1 $container[index_other].style.display = 'block' })
//jQuery實現,點選一下父元素,最開始的元素的子元素display_none,再將點選事件的元素的子元素設定為display_block currentindex=0 $('#tab>li').click(function(){ $($container[currentindex]).css('display','none') var index=$(this).index() $container[index].style.display = 'block' currentindex=index })
4.總結
(1)、原生js就可以實現點選切換的功能,但是使用jQuery後更為容易,語法簡單,卻功能強大。
(2)、在比較2和3方法,可以看到第2法在觸發點選事件後是將所有子元素設定的顯示方式為none,顯然在子元素較多時,此時要修改的次數也相應的增加,勢必影響載入的效能,應該優化為3方法。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。