javascript新手实例2-CSS操作

Posted jlfw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript新手实例2-CSS操作相关的知识,希望对你有一定的参考价值。

周末快乐,今天给大家一个经常会用的例子,TAB切换,TAB的原理就是用js来控制不同层的display属性,今天给大家这个也是同样的原理,还是操作css的更多,用js把文章显示区域的css对应切换,这样就实现了不同的显示效果。

还是那句话:“每天一例,轻松javascrip”

老规矩,先上图:
技术图片

html代码

<!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的连缀功能呢?

以上是关于javascript新手实例2-CSS操作的主要内容,如果未能解决你的问题,请参考以下文章

你可能不知道的JavaScript代码片段和技巧(上)

JavaScript 片段

web前端开发JQuery常用实例代码片段(50个)

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

OpenGL片段着色器不照亮场景

操作栏选项卡:使用多次实例化的单个片段时如何传递参数