2021-7-2 前端達人
1、用JavaScript + html + css 實現,選項卡操作;
2、分析:
A、用 html + css 實現布局(盒子的布置,空間的分配等);
B、用 JavaScript 中的 DOM 操作,實現點擊不同選項顯示不同標題欄的功能;
1、運行軟件VScode,親測可實現;
2、運行代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { margin: 0; padding: 0; font-family: '微軟雅黑'; font-size: 14px; } #container { width: 398px; margin: 100px auto; } #container a { display: block; width: 98px; height: 42px; line-height: 42px; text-align: center; float: left; border-top: solid 1px #ff4400; border-bottom: solid 1px #ff4400; border-left: solid 1px #ff4400; color: #333333; text-decoration: none; } #container a:hover { /* 鼠標放在 a 的標簽上,其文字將顯示為:紅色; */ color: #ff4400; } .content { width: 355px; height: 140px; text-align: center; border-right: solid 1px #ff4400; border-bottom: solid 1px #ff4400; border-left: solid 1px #ff4400; padding: 30px 0 0 40px; display: none; } .clear { clear: left; } #container a.on { /* 對a標簽中的類名為:on 的標簽進行操作; */ background: #ff4400; color: #fff; } </style> </head> <body> <div id="container"> <a href="#" class="on" >充話費</a> <!-- 類為:on 的 a 標簽; --> <a href="#" >充流量</a> <a href="#" >充固話</a> <a href="#" style="border-right: 1px solid #ff4400;">充寬帶</a> <!-- style 操作目的:使得顯示的盒子最右邊有邊框; --> <div class="clear"></div> <div class="content" style="display: block;"> <!-- style 操作目的:使第一個圖片在初始狀態時,能顯示出來; --> <img src="images/1.png" width="355px"/> <!-- 該位置存放的是:圖片的地址 (即:里面加載的是圖片信息) --> </div> <div class="content"> <img src="images/2.png" width="355px" /> <!-- 該位置存放的是:圖片的地址 (即:里面加載的是圖片信息) --> </div> <div class="content"> <img src="images/3.png" width="355px" /> <!-- 該位置存放的是:圖片的地址 (即:里面加載的是圖片信息) --> </div> <div class="content"> <img src="images/4.png" width="355px" /> <!-- 該位置存放的是:圖片的地址 (即:里面加載的是圖片信息) --> </div> </div> <script> var as = document.getElementsByTagName('a'); //通過 DOM 操作,拿到標簽為 a 的所有的元素(是個集合); var divs = document.getElementsByClassName('content');//通過 DOM 操作,拿到類為 content 的所有的元素(是個集合); for(var i=0; i<as.length; i++) { as[i].index = i; //給拿到的每個元素對象添加索引屬性; (由于通過 DOM 操作拿到的元素是對象,因此可以添加屬性值); as[i].onclick = function() { //給 as集合 綁定單擊事件; for(var j=0; j<as.length; j++) { as[j].className = ''; //將 as集合 的所有元素的類名全部取消; (此時用的思想為:排他思想;) divs[j].style.display = 'none'; //將 divs集合 的所有元素全設置成不顯示狀態; } this.className = 'on'; //僅將被單擊的元素的類名設置為:on,以便執行在 css 中的相關操作; divs[this.index].style.display = 'block'; //并將被單擊的元素的相關圖片設置為:block狀態;(即:顯示出來;) } } </script> </body> </html>
3、結果展示:
A、默認的顯示結果:
B、點擊 ‘充流量’ 后的顯示結果:
C、點擊 ‘充固話’ 后的顯示結果:
D、點擊 ‘充寬帶’ 后的顯示結果:
4、可能存在的問題:
A 、如果自己也加載了圖片信息,仍然不能顯示該結果,可以直接下載我傳上去的文檔(可能解釋的更詳細),可以直接在 VScode 等其他軟件上加載運行;
地址為:
https://download.csdn.net/download/weixin_43405300/19645922?spm=1001.2014.3001.5501
哪里有不對或不合適的地方,還請大佬們多多指點和交流!
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
轉自:csdn
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
https://download.csdn.net/download/weixin_43405300/19645922?spm=1001.2014.3001.5501
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
藍藍設計的小編 http://www.syprn.cn