JavaScript實現(xiàn)點擊切換功能
本文實例為大家分享了JavaScript實現(xiàn)點擊切換功能的具體代碼,供大家參考,具體內(nèi)容如下
在實際應用中,點擊或者移入某一元素上,彈出下拉菜單或者頁面,是網(wǎng)頁設計的常見操作。
下面我們實現(xiàn)一種點擊菜單實現(xiàn)菜單切換,使用js提供三種方式實現(xiàn)該功能。
<body><h2>多Tab點擊切換</h2><ul id='tab'> <li value='1'>10元套餐</li> <li value='2'>30元套餐</li> <li value='3'>50元包月</li></ul><div id='container'> <div id='content1'> 10元套餐詳情:<br/> 每月套餐內(nèi)撥打100分鐘,超出部分2毛/分鐘 </div> <div style='display: none'> 30元套餐詳情:<br/> 每月套餐內(nèi)撥打300分鐘,超出部分1.5毛/分鐘 </div> <div 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實現(xiàn)點擊切換功能
//原生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實現(xiàn),點擊一下父元素,子元素全部display_none,再將點擊事件的元素的子元素設置為display_blockvar $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實現(xiàn),點擊一下父元素,最開始的元素的子元素display_none,再將點擊事件的元素的子元素設置為display_blockcurrentindex=0$(’#tab>li’).click(function(){ $($container[currentindex]).css(’display’, ’none’) var index=$(this).index() $container[index].style.display = ’block’ currentindex=index})4.總結(jié)
(1)、原生js就可以實現(xiàn)點擊切換的功能,但是使用jQuery后更為容易,語法簡單,卻功能強大。
(2)、在比較2和3方法,可以看到第2法在觸發(fā)點擊事件后是將所有子元素設置的顯示方式為none,顯然在子元素較多時,此時要修改的次數(shù)也相應的增加,勢必影響加載的性能,應該優(yōu)化為3方法。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP刪除img標簽的style屬性只保留src的正則函數(shù)2. 使用Python和百度語音識別生成視頻字幕的實現(xiàn)3. python基于socket模擬實現(xiàn)ssh遠程執(zhí)行命令4. Gitlab CI-CD自動化部署SpringBoot項目的方法步驟5. Java封裝數(shù)組實現(xiàn)包含、搜索和刪除元素操作詳解6. ASP中解決“對象關(guān)閉時,不允許操作?!钡脑幃悊栴}……7. Django:使用filter的pk進行多值查詢操作8. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達式9. idea打開多個窗口的操作方法10. JAVA上加密算法的實現(xiàn)用例
