1. 程式人生 > 程式設計 >JavaScript實現點選切換功能

JavaScript實現點選切換功能

本文例項為大家分享了JavaScript實現點選切換功能的具體程式碼,供大家參考,具體內容如下

在實際應用中,點選或者移入某一元素上,彈出下拉選單或者頁面,是網頁設計的常見操作。

下面我們實現一種點選選單實現選單切換,使用js提供三種方式實現該功能。

JavaScript實現點選切換功能

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/>&nbsp;每月套餐內撥打100分鐘,超出部分2毛/分鐘
 </div>
 <div id="content2" style="display: none">
 30元套餐詳情:<br/>&nbsp;每月套餐內撥打300分鐘,超出部分1.5毛/分鐘
 </div>
 <div id="content3" style="display: none">
 50元包月詳情:<br/>&nbsp;每月無限量隨心打
 </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方法。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。