日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

点击切换

發(fā)布時(shí)間:2024/1/18 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 点击切换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

點(diǎn)擊切換功能

在實(shí)際應(yīng)用中,點(diǎn)擊或者移入某一元素上,彈出下拉菜單或者頁面,是網(wǎng)頁設(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/>&nbsp;每月套餐內(nèi)撥打100分鐘,超出部分2毛/分鐘</div><div id="content2" style="display: none">30元套餐詳情:<br/>&nbsp;每月套餐內(nèi)撥打300分鐘,超出部分1.5毛/分鐘</div><div id="content3" style="display: none">50元包月詳情:<br/>&nbsp;每月無限量隨心打</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)擊切換功能

//原生jsvar container=document.querySelectorAll('#container>div')var event_li=document.querySelectorAll('#tab>li')var currentindex=0for(var i=0;i<event_li.length;i++){event_li[i].num=ievent_li[i].onclick=function(){container[currentindex].style.display='none'var index_other=this.numcontainer[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后更為容易,語法簡單,卻功能強(qiáng)大。

(2)在比較2和3方法,可以看到第2法在觸發(fā)點(diǎn)擊事件后是將所有子元素設(shè)置的顯示方式為none,顯然在子元素較多時(shí),此時(shí)要修改的次數(shù)也相應(yīng)的增加,勢(shì)必影響加載的性能,應(yīng)該優(yōu)化為3方法。

總結(jié)

以上是生活随笔為你收集整理的点击切换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。