• 小练习涨姿势(二)


    今天来个简单的网页换肤效果 参考来自:http://js.fgm.cc/learn/lesson1/02.html

    其实实现原理也很简单,就是改变页面的外链样式表

    所以呢,需要准备几个样式表:如下

    green.css文件

    body{
    background:#A3C5A8;
    }
    
    #navlist li{
    background:green;
    }

    red.css文件

    body{
        background:#FDD;
    }
    
    #navlist li{
        background:red;
    }

    black.css文件

    body{
        background:#ccc;
    }
    
    #navlist li{
        background:black;
    }

    HTML文件:

    <!DOCTYPE html>
    <html>
    <meta charset="utf-8">
    <head>
    <title>网页换肤</title>
    <style>
    body,div,ul,ul li{margin:0;padding:0;}
    body{width:100%;height: 100%;}
    li{list-style:none;}
    #outer{width:800px;margin:0 auto;padding:20px;text-align: center;}
    #skinbtn{width:100%;clear:both;height:20px;}
    #skinbtn li.current{background:#fff !important;}
    #skinbtn li{width:6px;height:6px;float:left;cursor:pointer;margin-left:5px;font-size:0;}
    #red{border:3px solid red;background:red;}
    #green{border:3px solid green;background:green;}
    #black{border:3px solid black;background:black;}
    
    #navlist li{float:left;width:60px;height:30px;margin-left:2px;line-height: 30px;color:#fff;}
    </style>
    <link rel="stylesheet" type="text/css" href="green.css" />
    <script>
    window.onload=function(){
        var oLink=document.getElementsByTagName('link')[0];
        var aSkinBtn=document.getElementById('skinbtn').getElementsByTagName('li');
        
        for(var i=0;i<aSkinBtn.length;i++){
            aSkinBtn[i].onclick=function(){
                for(var p in aSkinBtn){aSkinBtn[p].className='';}
                this.className='current';
                oLink['href']=this.id+'.css';
            }    
        }
    }
    </script>
    </head>
    <body>
    <div id="outer">
    <ul id="skinbtn">
        <li id="red"></li>
        <li id="green" class="current"></li>
        <li id="black"></li>
    </ul>
    <ul id="navlist">
        <li>新闻</li>
        <li>娱乐</li>
        <li>体育</li>
        <li>电影</li>
        <li>音乐</li>
        <li>旅游</li>
    </ul>
    </div>
    </body>
    </html>

    代码很简单,但是在这里面我找到了自己的遗漏之处

    那就是this.id的用法,我测试了一下兼容性,IE6+均支持,其他当然也支持

    它的作用就是获取当前对象的id名称。是不是感觉和className很像。

  • 相关阅读:
    JS弹出层可拖拽
    DWZ搭建页面快速入门笔记
    JQuery 选择器总结
    最新身份证验证
    centos7磁盘扩容
    vue中使用vueamap(高德地图)
    后台数据格式有问题,更改数据格式
    《JavaScript高级程序设计(第3版)》问题收集
    slice()、substr()、substring()的结果
    【SQL】统计数据过程中利用Union去重
  • 原文地址:https://www.cnblogs.com/gresic/p/3419792.html
Copyright © 2020-2023  润新知