週末快樂,今天給你們一個常常會用的例子,TAB切換,TAB的原理就是用js來控制不一樣層的display屬性,今天給你們這個也是一樣的原理,仍是操做css的更多,用js把文章顯示區域的css對應切換,這樣就實現了不一樣的顯示效果。javascript
仍是那句話:「天天一例,輕鬆javascrip」css
老規矩,先上圖:
html
html代碼java
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>圖片顯示模式切換★</title> <link rel="stylesheet" type="text/css" href="switch.css"/> <script src="switch.js" type="text/javascript" charset="utf-8"></script> </head> <body> <div class="imgBox"> <div id="menu"> <ul> <li>大圖展現</li> <li class="active">小圖展現</li> <li>列表展現</li> </ul> </div> <div class="contentBox" id="contentBoxCotrol"> <ul> <li> <div class="img"> <a href=""><img src="01.JPG"></a> </div> <div class="text"> <p><a href="">微信小程序這些新增長功能你確定喜歡</a></p> <span>近日,微信公衆號發文稱,小程序新增錄音、拍照攝像、視頻播放等功能,大幅增長多媒體能力。同時小程序還進一步完善訪客來源信息,讓開發者有跡可循。</span> </div> </li> <li> <div class="img"> <a href=""><img src="02.JPG"></a> </div> <div class="text"> <p><a href="">工做累了就聽周杰倫的院士 讓中國高鐵領跑世界</a></p> <span>「辦公室能夠說是翟老師第二個家,就連大年二十九,學校空得寂若無人,外邊已經張燈結綵放鞭炮了,他也要在辦公室工做到晚上八九點才肯走。」</span> </div> </li> <li> <div class="img"> <a href=""><img src="03.JPG"></a> </div> <div class="text"> <p><a href="">暖心|85歲「蝙蝠俠」爺爺深夜拾荒5年,背後的故事看哭網友</a></p> <span>5年來,他靠着夜裏撿垃圾,資助貧困兒童讀完大學。他背後的故事,使人動容!</span> </div> </li> <li> <div class="img"> <a href=""><img src="04.JPEG"></a> </div> <div class="text"> <p><a href="">只是逗你玩?爲什麼小程序目前難以取代App</a></p> <span>微信小程序也已經推出了一段時間了,在小程序面世伊始,有觀點認爲它可以取代手機App,給用戶帶來更清爽的體驗。</span> </div> </li> <li> <div class="img"> <a href=""><img src="05.JPEG"></a> </div> <div class="text"> <p><a href="">配置確認!華爲Mate 10 Pro現身跑分:麒麟970低調首秀</a></p> <span>規格方面,麒麟970採用10nm工藝,8核設計,4xA73 2.4GHz+4xA53 1.8GHz,GPU爲首次商用Mali-G72(12核),全新升級的自研相機ISP,內建NPU(Neural Network Processing Unit,神經處理單元)。</span> </div> </li> <li> <div class="img"> <a href=""><img src="06.JPEG"></a> </div> <div class="text"> <p><a href="">爲何解放軍特種兵廣泛不戴防彈頭盔,而選擇戴軍帽呢?</a></p> <span>在一些電視報道或者新聞上面,咱們都可以或多或少的看到一些關於解放軍特種兵的消息和報道,可是,你們注意到了一個細節沒有,無論是訓練仍是平時的時候,咱們都會注意到解放軍的特種兵彷佛也不多見到他們帶防彈頭盔,而是選擇戴普通的軍帽或者圓頂帽。</span> </div> </li> </ul> </div> </div> </body> </html>
css代碼小程序
body { background: #f7efef; font-size: 14px; } ul, ul li { padding: 0; margin: 0; display: inline; list-style: none; } .imgBox { width: 620px; } #menu, .contentBox, .contentBox li, .contentBoxBig, .contentBoxBig li, .contentBoxSmall, .contentBoxSmall li { width: 100%; float: left; } .contentBox, .contentBoxBig, .contentBoxSmall { border: 1px solid #f75a08; background: #fff; padding: 10px; border-radius: 0 10px 10px 10px; box-shadow: 10px 10px 7px #999; } #menu li { width: 90px; height: 35px; line-height: 35px; text-align: center; float: left; color: #333; border-radius: 10px 10px 0 0; margin-right: 10px; cursor: pointer; background: #fff; box-shadow: 5px 5px 7px #999; border:1px solid #f75a08; border-bottom: none; } #menu li.active, #menu li:hover { background: #f75a08; color: #fff; } .contentBox li, .contentBoxBig li, .contentBoxSmall li { margin: 5px 0; } .contentBoxSmall li { border-bottom: 1px dotted #f75a08; padding: 5px 0; } .contentBox li a, .contentBoxBig li a, .contentBoxSmall li a { color: #333; text-decoration: none; } .contentBox li:hover, .contentBoxBig li:hover, .contentBoxSmall li:hover { background: #f7efef; } .contentBox #img, .contentBox img, .contentBoxBig #img, .contentBoxBig img, .contentBoxSmall #img, .contentBoxSmall img { float: left; width: 120px; height: 75px; overflow: hidden; margin-right: 10px; border-radius: 5px; } .contentBoxBig #img, .contentBoxBig img{ width: 258px; height: 158px; } .contentBoxSmall #img, .contentBoxSmall img{ width: 20px; height: 20px; } .contentBox p, .contentBoxBig p, .contentBoxSmall p { font-size: 16px; margin: 10px 0; width: 480px; height: 25px; font-weight: bold; overflow: hidden; float: left; } .contentBoxBig p { width: 350px; font-size: 20px; } .contentBoxSmall p { width: 580px; font-size: 14px; margin: 0; font-weight: normal; } .contentBox span, .contentBoxBig span { font-size:#14px; color: #808080; width: 480px; height: 20px; overflow: hidden; float: left; } .contentBoxBig span { width: 350px; height: 90px; } .contentBoxSmall span { display: none; } .contentBox text, .contentBoxBig text, .contentBoxSmall text{ float: left;; }
js代碼微信小程序
window.onload = function () { function luka(element) { //if (/#/.test(element) == true) 正則也能夠匹配,不過正則的效率沒有函數高,貌似任何語言都是 if (element.indexOf('#') > -1) { return document.getElementById(element.replace(/#/,'')); }; if (element.indexOf('.') > -1) { return document.getElementsByClassName(element.replace(/\./g,'')); }; if (/^[a-zA-Z]+&/.element = true) { return document.getElementsByTagName(element); }; console.log(element); }; var getMenu = luka("#menu"); var clickLi = getMenu.getElementsByTagName("li"); console.log(clickLi); for(var i = 0; i<3; i++) { clickLi[i].index = i; luka("li")[i].onclick = function() { liNum = this.index; //alert(this.index); switch(liNum) { case 0: luka("li")[0].setAttribute("class","active"); luka("li")[1].removeAttribute("class"); luka("li")[2].removeAttribute("class"); luka("#contentBoxCotrol").setAttribute("class","contentBoxBig"); break; case 1: luka("li")[0].removeAttribute("class"); luka("li")[1].setAttribute("class","active"); luka("li")[2].removeAttribute("class"); luka("#contentBoxCotrol").setAttribute("class","contentBox"); break; case 2: luka("li")[0].removeAttribute("class"); luka("li")[1].removeAttribute("class"); luka("li")[2].setAttribute("class","active"); luka("#contentBoxCotrol").setAttribute("class","contentBoxSmall"); break; } } } }
知識點微信
- switch的運用
- setAttribute 和 removeAttribute的使用
- css樣式的複用及覆蓋
- 思考:luka如今只能實現獲取一個ID或者一個classNanme或者一個TagName,怎麼實現原生js的連綴功能呢?