javascript新手實例2-CSS操做

週末快樂,今天給你們一個常常會用的例子,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的連綴功能呢?
相關文章
相關標籤/搜索