首先,该练习参考自:https://www.jianshu.com/p/2961d9c317a3

我就直接上代码了(颜色可以自己调)。

HTML:

    <nav>
<li><a href="#">独秀不爱秀</a></li>
<li><a href="#">独秀不爱秀</a></li>
<li><a href="#">独秀不爱秀</a></li>
<li><a href="#">独秀不爱秀</a></li>
<li><a href="#">独秀不爱秀</a></li>
<li><a href="#">独秀不爱秀</a></li>
</nav>
<ul id="skin">
<li id="red"></li>
<li id="green" class="current"></li>
<li id="blue"></li>
</ul>

CSS:

        /* 公共部分 */
* {
margin:;
padding:;
}
html, body {
font-size: 16px;
transition: all 1s;
}
ul, nav {
list-style: none;
} /* 网页皮肤选择模块 */
#skin {
margin-left: 100px;
margin-top: 100px;
}
#skin li {
width: 50px;
height: 50px;
color: #fff;
line-height: 50px;
text-align: center;
border-radius: 50%;
}
#skin li + li {
margin-top: 10px;
}
#skin #red {
background-color: red;
border: 25px solid red;
}
#skin #green {
background-color: #009688bd;
border: 25px solid #009688bd;
}
#skin #blue {
background-color: blue;
border: 25px solid blue;
}
#skin li.current {
background-color: #fff!important;
}
#skin li:hover, #skin li:focus {
background-color: #fff!important;
} /* nav 模块 */
nav {
width: 700px;
height: 50px;
margin: 100px auto;
}
nav li {
width: 100px;
height: 50px;
float: left;
line-height: 50px;
text-align: center;
transition: all 1s;
       border: 1px solid #fff;
}
nav li + li {
margin-left: 10px;
}
nav li a {
color: #fff;
text-decoration: none;
}
nav li a:hover, nav li a:focus {
text-decoration: underline;
}

green.css

body {
background: #8bc34a;
}
nav li {
background-color: #009688bd;
}

red.css

body {
background: #9e9e9e5e;
}
nav li {
background-color: #ff5722eb;
}

blue.css

body {
background: #673ab7a6;
}
nav li {
background-color: #03a9f4a3;
}

JavaScript:

      window.onload = () => {
// 获取选择皮肤按钮
const skinLi = document.getElementById('skin').querySelectorAll('li');
// 获取 link 标签
const cssLink = document.getElementById('link'); for (let i = 0; i < skinLi.length; i++) {
skinLi[i].addEventListener('click', () => {
// 当点击每一个选择的时候先去除掉所有选择按钮的 class
for (ele in skinLi) {
skinLi[ele].className = '';
}
skinLi[i].className = 'current';
cssLink.href = `css/${skinLi[i].id}.css`;
});
}
};

css, js 项目练习之网页换肤的更多相关文章

  1. JS实现网页换肤功能效果

    网页换肤的基本原理 使用 JS 切换对应的 CSS 样式表.例如hao123首页的右上方就有网页换肤功能.除了切换 CSS 样式表文件之外,通常的网页换肤还需要通过 Cookie 来记录用户之前更换过 ...

  2. js网页换肤

    使网页背景颜色可选黄/粉 <html> <head> <meta charset="utf-8"> <meta name="ge ...

  3. 用js来实现页面的换肤功能(带cookie记忆)

    用js来实现页面的换肤功能 js实现换肤功能的实现主要是通过利用js控制CSS来实现的.大致的实现原理是这样的, 1.先定义一个页面基本样式style.css来确定div的宽高等属性,使得整个页面的D ...

  4. JavaScript网页换肤

    使网页背景颜色可选黄/粉 <!doctype html> <html> <head><title>网页换肤</title></head ...

  5. 基于js的网页换肤(不需要刷新整个页面,只需替换css文件)

    1. [代码][JS]代码    <HTML><HEAD><link ID="skin" rel="stylesheet" typ ...

  6. 【转】Javascript+css 实现网页换肤功能

    来源:http://www.php100.com/html/webkaifa/DIV_CSS/2008/1014/2326.html Html代码部分: 1.要有一个带id的样式表链接,我们要通过操作 ...

  7. 网页换肤,模块换肤,jQuery的Cookie插件使用(转)

    具体效果如下: 第一次加载如下图: 然后点击天蓝色按钮换成天蓝色皮肤如下图: 然后关闭网页重新打开或者在打开另一个网页如下图: 因为皮肤用Cookie保存了下来,所以不会重置 具体的实现代码如下: & ...

  8. jsp 引用css/js文件返回html网页问题

    我的问题: 我直接在web.xml中匹配了 “/” ,以为能默认使用 “localhost:8080/news/” 这种方式,直接进入首页. 但是这样会匹配所有url 因此请求的 ***.js/*** ...

  9. jquery网页换肤+jquery的cookie+动态调用css样式文件,可以的

    比较具有参考性,代码全贴(当然,还需要一张图片需要的留个邮箱,看到就发) 贴在这儿吧,修改一下css的引用位置应该可以用 <%@ page language="java" c ...

随机推荐

  1. vue之子父组件通信

    一. 子-父组件间通信: let children = {    # 定义子组件 template: `<div> <button @click="send"&g ...

  2. map和object互转的几种方式

    1.使用Apache中的BeanUtils类,导入commons-beanutils包. 2.使用JSON 3.利用java.lang.reflect.Field类完成Obj和Map之间的相互转换 h ...

  3. C语言博客作业2019-04--数组

    0.展示PTA总分(0----2) 展示3张关于"数组题目集"分数截图. 1.本章学习总结(2分) 1.1 学习内容总结 整理数组这章学习主要知识点,必须包含内容有: 数组中如何查 ...

  4. Math的round方法

    代码如下,后面的注释是输出的结果 public static void main(String[] args) { System.out.println(Math.round(0.399)); Sys ...

  5. SCAN----Redis检索键值对

    转载地址:http://redis.readthedocs.org/en/latest/key/scan.html SCAN SCAN cursor [MATCH pattern] [COUNT co ...

  6. python总结一

    1. python中的而标准数据类型: number(数字) string(字符串) list(列表) tuple(元祖) dic(字典) 其中数字类型有: python支持四种不同的数字类型: in ...

  7. 2018-2019-2 网络对抗技术 20165318 Exp 9 Web安全基础

    2018-2019-2 网络对抗技术 20165318 Exp 9 Web安全基础 基础问题回答 实践过程记录 WebGoat安装 SQL注入攻击 1.命令注入(Command Injection) ...

  8. OpenCV+TensorFlow图片手写数字识别(附源码)

    初次接触TensorFlow,而手写数字训练识别是其最基本的入门教程,网上关于训练的教程很多,但是模型的测试大多都是官方提供的一些素材,能不能自己随便写一串数字让机器识别出来呢?纸上得来终觉浅,带着这 ...

  9. A Philosophy of Software Design

    关于复杂性,尚无统一的定义,从不同的角度可以给出不同的答案.可以用数量来度量,比如芯片集成的电子器件越多越复杂(不一定对):按层次性[2]度量,复杂度在于层次的递归性和不可分解性.在信息论中,使用熵来 ...

  10. Excel VBA业余爱好者心得及总结

    我不是IT专业人士,而是一位医务工作者,当初学习Excel VBA时,是因为读研究生时的课题需要:实验仪器每天产生4个Word文件,每个文件有9个表格,总计近百个数据.为了对这些数据进行统计分析,则需 ...