网页技术交流
 
发新帖
楼主: 零五零八
查看: 644|回复: 0

[使用教程] 前端html换肤功能的实现代码

[复制链接]
零五零八 发表于 2020-10-17 18:45:38 | 显示全部楼层
本帖最后由 零五零八 于 2020-10-17 19:03 编辑

50行代码换5种肤色,包含透明


  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Document</title>
  6.     <style>
  7.     #box{width: 100%;height:100%;background-color: red;position: absolute;top:0;left:0;right:0;bottom:0;}
  8.     #box>div{float:right;width: 30px;height: 30px;margin:10px;border: 1px #333 solid;}
  9.     #box1{background-color: red}
  10.     #box2{background-color: yellow}
  11.     #box3{background-color: blue}
  12.     #box4{background-color: green}
  13.     </style>
  14. </head>
  15. <body>
  16.     <div id="box">
  17.         <div id="box1"></div>
  18.         <div id="box2"></div>
  19.         <div id="box3"></div>
  20.         <div id="box4"></div>
  21.         <div id="box5"></div>
  22.     </div>
  23. </body>
  24. <script>
  25.     var box = document.getElementById('box');
  26.     var box1 = document.getElementById('box1');
  27.     var box2 = document.getElementById('box2');
  28.     var box3 = document.getElementById('box3');
  29.     var box4 = document.getElementById('box4');
  30.     var box5 = document.getElementById('box5');
  31.     box1.onclick = function(){
  32.         box.style.backgroundColor = 'red';
  33.     }
  34.     box2.onclick = function(){
  35.         box.style.backgroundColor = 'yellow';
  36.     }
  37.     box3.onclick = function(){
  38.         box.style.backgroundColor = 'blue';
  39.     }
  40.     box4.onclick = function(){
  41.         box.style.backgroundColor = 'green';
  42.     }
  43.     box5.onclick = function(){
  44.         box.style.backgroundColor = 'transparent';
  45.     }
  46. </script>
  47. </html>
复制代码
开始注释了,代码浓缩在一起了,不难理解

html基本标签这块儿就不说了,先说body下的文本样式吧


  1. <body>
  2.     <div id="box">
  3.         <div id="box1"></div>
  4.         <div id="box2"></div>
  5.         <div id="box3"></div>
  6.         <div id="box4"></div>
  7.         <div id="box5"></div>
  8.     </div>
  9. </body>
复制代码


最后要用到JS,在这里写以 “ id ” 命名的话,等下可以少写一些代码。


1.png


这个红色的大盒子就是#box,我给它添加了一个默认颜色,如果不加就是透明。我给每个盒子都添加了边框,容易区分


2.png

第一个跟第四个是有区别的,区别在于第一个颜色是透明,而第二个颜色是红色—跟底色相同。


  1. <style>
  2.     #box{width: 400px;
  3.     height: 400px;background-color: red;border: 1px #000 solid;}
  4.     #box>div{float:right;width: 30px;
  5.     height: 30px;margin:10px;border: 1px #333 solid;}
  6.     #box1{background-color: red}
  7.     #box2{background-color: yellow}
  8.     #box3{background-color: blue}
  9.     #box4{background-color: green}
  10.     #box5{}
  11.     </style>
复制代码

这块是Css样式:
                           width:设置盒子宽度;
                           height:设置盒子高度;
                           background-color:设置盒子背景颜色;
                           border:设置盒子边框(1px是边框的粗细程度,#333是16进制颜色,solid是边框样式,solid代表实线);
                           float:是浮动(盒子底下充满了水,盒子漂浮起来了;left就是向左边漂浮,right就是向右边漂浮);
                           margin:就是外边距(盒子不喜欢挤在一起,为了避免挤压,我们让它距离上、下、左、右的任何东西都有一定的间隙);

red是红色;yellow是黄色;blue是蓝色;green是绿色

  1. var box = document.getElementById('box');
  2.     var box1 = document.getElementById('box1');
  3.     var box2 = document.getElementById('box2');
  4.     var box3 = document.getElementById('box3');
  5.     var box4 = document.getElementById('box4');
  6.     var box5 = document.getElementById('box5');
复制代码


这段是DOM选择器,单独选中每一个盒子,方便理解。如果想选中所有盒子,
var boxs = box.SelectorAll(‘div’);
这样一句就全部选中了


  1. box1.onclick = function(){
  2.         box.style.backgroundColor = 'red';
  3.     }
复制代码


这句话的含义是:选中你需要操作的box


3.png


是倒数第一个——红色的小方块:给了box 一个点击事件(onclick),function(){}是执行的函数,

当box1被onclick的时候,box就function(){}这样说就很容易理解了,那我们来看看function(){}里面都有什么

4.png

好简单啊,就这么一句。这句话的意思就是让box的背景颜色变为红色(red);
style:风格,样式; background-Color:是背景颜色; (在JS中,“ - ”
一般不能正常使用,所以被替换成了下一个单词的首字母大写,也就是:background-color ==> backgroundColor);
最后的:

  1. box.style.backgroundColor = 'transparent';
复制代码


中的transparent是背景颜色的默认值,写成这样就意味着还原它本来的样子,那就是透明了



快速回复 返回顶部 返回列表