本篇內(nèi)容介紹了“JavaScript如何實(shí)現(xiàn)Tab欄切換特效”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站專(zhuān)注于龍崗網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供龍崗營(yíng)銷(xiāo)型網(wǎng)站建設(shè),龍崗網(wǎng)站制作、龍崗網(wǎng)頁(yè)設(shè)計(jì)、龍崗網(wǎng)站官網(wǎng)定制、成都小程序開(kāi)發(fā)服務(wù),打造龍崗網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供龍崗網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
如上圖所示,其實(shí)就是點(diǎn)擊上方的Tab欄然后Tab欄本身的樣式會(huì)被修改,然后其下方的內(nèi)容塊也會(huì)跟著顯示對(duì)應(yīng)的內(nèi)容。這樣的效果以及功能在前端的應(yīng)用是非常廣泛的,所以這可以說(shuō)是前端必會(huì)了。話(huà)不多說(shuō)下面先上代碼:
(這里就不上CSS樣式代碼了,個(gè)人根據(jù)需求進(jìn)行設(shè)置即可,li用float布局就好)
- 商品介紹
- 規(guī)格與包裝
- 售后保障
- 商品評(píng)價(jià)(50000)
- 手機(jī)社區(qū)
商品介紹模塊內(nèi)容規(guī)格與包裝模塊內(nèi)容售后保障模塊內(nèi)容商品評(píng)價(jià)(50000)模塊內(nèi)容手機(jī)社區(qū)模塊內(nèi)容
下面是JS代碼:
這里再說(shuō)下實(shí)現(xiàn)步驟和思路(JS代碼里已有詳細(xì)分析):首先功能大致分兩步:第一,對(duì)li標(biāo)簽的樣式修改,即用戶(hù)點(diǎn)擊哪個(gè)li該li的樣式隨著改變?yōu)榧t底白字,而它之外的其他li則是灰底黑字的默認(rèn)樣式;第二,上面的樣式修改了下面的文字模塊的內(nèi)容也要隨之改變,下面其實(shí)是放了與li一一對(duì)應(yīng)的div來(lái)裝文字內(nèi)容,只是它們的顯示是由Tab欄的li決定的,所以要實(shí)現(xiàn)div的文字隨著li變動(dòng)我們就需要知道當(dāng)前用戶(hù)點(diǎn)擊的是哪個(gè)li,這里用到的方法是 lis[i].setAttribute("index", i),即用循環(huán)給每一個(gè)li標(biāo)簽添加一個(gè)自定義屬性index值等于lis(所有的li組成的數(shù)組)的索引,則根據(jù)index的值我們就能知道用戶(hù)點(diǎn)擊的是哪個(gè)li了,這樣我們?cè)贈(zèng)Q定是哪個(gè)div顯示出來(lái)就可以了。(建議看代碼結(jié)合注釋更好理解一些)
注意:這里再說(shuō)一下“排他思想”,即像這樣的列表或是表格之類(lèi)的元素對(duì)象,一般可以統(tǒng)一獲取再存入一個(gè)數(shù)組中的元素對(duì)象,我們要控制當(dāng)前選中的該元素和其他沒(méi)有被選中的元素“有所不同”時(shí),就常常設(shè)計(jì)“排他思想”,主要分兩步實(shí)現(xiàn):1.用循環(huán)遍歷將這些所有的元素(包括選中的那個(gè)元素)都“干掉”,這一步主要是讓所有的元素“都一樣”誰(shuí)也沒(méi)有不同之處,然后再給我們選中的那個(gè)元素添加上我們想要給它的樣式或功能(即留下我自己)。這樣兩步加起來(lái),就實(shí)現(xiàn)了選中誰(shuí),誰(shuí)“不一樣”的效果。
“JavaScript如何實(shí)現(xiàn)Tab欄切換特效”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!