js實(shí)現(xiàn)點(diǎn)擊切換卡片功能
本文實(shí)例為大家分享了js實(shí)現(xiàn)點(diǎn)擊切換卡片功能的具體代碼,供大家參考,具體內(nèi)容如下
在實(shí)際應(yīng)用中,點(diǎn)擊或者移入某一元素上,彈出下拉菜單或者頁(yè)面,是網(wǎng)頁(yè)設(shè)計(jì)的常見操作。
下面我們實(shí)現(xiàn)一種點(diǎn)擊菜單實(shí)現(xiàn)菜單切換,使用js提供三種方式實(shí)現(xiàn)該功能。
1.使用html設(shè)計(jì)基本結(jié)構(gòu)
<body> <h2>多Tab點(diǎn)擊切換</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/> 每月套餐內(nèi)撥打100分鐘,超出部分2毛/分鐘 </div> <div id="content2" style="display: none"> 30元套餐詳情:<br/> 每月套餐內(nèi)撥打300分鐘,超出部分1.5毛/分鐘 </div> <div id="content3" style="display: none"> 50元包月詳情:<br/> 每月無(wú)限量隨心打 </div> </div> </body>
2.使用css設(shè)計(jì)基本樣式
<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實(shí)現(xiàn)點(diǎ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實(shí)現(xiàn),點(diǎn)擊一下父元素,子元素全部display_none,再將點(diǎn)擊事件的元素的子元素設(shè)置為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實(shí)現(xiàn),點(diǎn)擊一下父元素,最開始的元素的子元素display_none,再將點(diǎn)擊事件的元素的子元素設(shè)置為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.總結(jié)
(1)、原生js就可以實(shí)現(xiàn)點(diǎn)擊切換的功能,但是使用jQuery后更為容易,語(yǔ)法簡(jiǎn)單,卻功能強(qiáng)大。
(2)、在比較2和3方法,可以看到第2法在觸發(fā)點(diǎn)擊事件后是將所有子元素設(shè)置的顯示方式為none,顯然在子元素較多時(shí),此時(shí)要修改的次數(shù)也相應(yīng)的增加,勢(shì)必影響加載的性能,應(yīng)該優(yōu)化為3方法。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)點(diǎn)擊切換TAB標(biāo)簽實(shí)例
- Vue.js點(diǎn)擊切換按鈕改變內(nèi)容的實(shí)例講解
- 簡(jiǎn)單純js實(shí)現(xiàn)點(diǎn)擊切換TAB標(biāo)簽實(shí)例
- JS實(shí)現(xiàn)的簡(jiǎn)單標(biāo)簽點(diǎn)擊切換功能示例
- 原生JS實(shí)現(xiàn)隱藏顯示圖片 JS實(shí)現(xiàn)點(diǎn)擊切換圖片效果
- jquery插件jquery.LightBox.js實(shí)現(xiàn)點(diǎn)擊放大圖片并左右點(diǎn)擊切換效果(附demo源碼下載)
- js實(shí)現(xiàn)點(diǎn)擊切換checkbox背景圖片的簡(jiǎn)單實(shí)例
- JavaScript實(shí)現(xiàn)的簡(jiǎn)單Tab點(diǎn)擊切換功能示例
- JavaScript 實(shí)現(xiàn) Tab 點(diǎn)擊切換實(shí)例代碼
- JS實(shí)現(xiàn)淡藍(lán)色簡(jiǎn)潔豎向Tab點(diǎn)擊切換效果
相關(guān)文章
動(dòng)態(tài)添加js事件實(shí)現(xiàn)代碼
動(dòng)態(tài)添加js事件,主要是不用具體指定位置的事件,這種動(dòng)態(tài)添加事件的方法比較方便,并可以擴(kuò)展等。2009-03-03JS當(dāng)前頁(yè)面登錄注冊(cè)框,固定DIV,底層陰影的實(shí)例代碼
下面小編就為大家?guī)?lái)一篇JS當(dāng)前頁(yè)面登錄注冊(cè)框,固定DIV,底層陰影的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09原生js簡(jiǎn)單實(shí)現(xiàn)放大鏡特效
這篇文章主要為大家詳細(xì)介紹了原生js簡(jiǎn)單實(shí)現(xiàn)放大鏡特效,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05微信小程序中做用戶登錄與登錄態(tài)維護(hù)的實(shí)現(xiàn)詳解
微信小程序的運(yùn)行環(huán)境不是在瀏覽器下運(yùn)行的。所以不能以cookie來(lái)維護(hù)登錄態(tài)。下面這篇文章主要給大家介紹了微信小程序中如何做用戶登錄與登錄態(tài)維護(hù)的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考學(xué)習(xí)。2017-05-05JavaScript 模塊化開發(fā)實(shí)例詳解【seajs、requirejs庫(kù)使用】
這篇文章主要介紹了JavaScript 模塊化開發(fā),結(jié)合實(shí)例形式詳細(xì)分析了基于seajs、requirejs庫(kù)的JavaScript模塊化使用相關(guān)操作技巧,需要的朋友可以參考下2020-05-05微信小程序?qū)崿F(xiàn)電子簽名并導(dǎo)出圖片
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)電子簽名,并導(dǎo)出圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05javascript實(shí)現(xiàn)獲取cookie過(guò)期時(shí)間的變通方法
這篇文章主要介紹了javascript實(shí)現(xiàn)獲取cookie過(guò)期時(shí)間的變通方法,因?yàn)閏ookie過(guò)期時(shí)間是由瀏覽器控制的,所以想獲取過(guò)期時(shí)間只能通過(guò)本文的變通方法來(lái)實(shí)現(xiàn),需要的朋友可以參考下2014-08-08