zoukankan      html  css  js  c++  java
  • 小练习涨姿势(二)

    今天来个简单的网页换肤效果 参考来自: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很像。

  • 相关阅读:
    权限管理(java+struts2(自定义标签)实现)--------->全代码演示
    颜色的几个术语和属性
    颜色的不同表达方式
    bootstrap作为mixin库的应用模式
    -webkit-min-device-pixel-ratio: 2是什么意思?
    如何在前端项目中引用bootstrap less?
    js闭包??
    win 运行
    win 2016 添加系统组件注册表,
    C# window服务操作
  • 原文地址:https://www.cnblogs.com/gresic/p/3419792.html
Copyright © 2011-2022 走看看