首先,该练习参考自: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. 爬虫-lxml用法

    安装 pip install lxml 用法 # coding=utf-8 from lxml import etree text = ''' <div> <ul> <l ...

  2. history.back(-1)和history.go(-1)的区别 (有错误)

    返回一个页面方法有很多,就好比给返回按钮绑定一个URL,但是如果一个页面可以从很多页面到达,那么这个页面返回的页面就不是固定的,那么绑定固定的URL显然不妥. 两个方法的区别 既然history.ba ...

  3. Vim编辑器点滴积累

    Vim编辑器点滴积累 vim tab键空格数量控制 参考链接 临时:进入VIM,执行: :set tabstop=4 永久:编辑用户目录下.vimrc文件,添加:set tabstop=4 vim 安 ...

  4. 记录VUE-CLI项目创建及初始化相关

    记录 创建项目 vue init webpack 项目名 配置config下的index.js的文件配置,修改相对路径和配置不打包map文件 修改build-webpack.base.conf.js, ...

  5. iptables 数据走向流程

    链的规则存放于哪些表中(从链到表的对应关系): PREROUTING 的规则可以存在于:raw表,mangle表,nat表. INPUT 的规则可以存在于:mangle表,filter表,(cento ...

  6. 小端存储转大端存储 & 大端存储转小端存储

    1.socket编程常用的相关函数:htons.htonl.ntohs.ntohl h:host   n:network      s:string    l:long 2.基本数据类型,2字节,4字 ...

  7. 【IntelliJ IDEA学习之二】IntelliJ IDEA常用配置

    版本:IntelliJIDEA2018.1.4 一.常用配置两张概览图(1)工作区总览介绍图 (2)setting配置图 --------------------------------------- ...

  8. 扫描工具Nikto-安全牛课堂网络安全之Web渗透测试练习记录

    web扫描工具大都支持两种模式:代理扫描和主动扫描 Nikto 扫描内容 扫描软件版本.存在安全隐患的文件.服务器配置漏洞.服务器配置漏洞.web应用安全隐患 常用命令 nikto -list-plu ...

  9. slf4j log4j logback

    最先大家写日志都用log4j,后来作者勇于创新,又搞了个logback,又为了统一江湖,来了个slf4j,所以目前在代码中进行日志输出,推荐使用slf4j,这样在运行时,你可以决定到底是用log4j还 ...

  10. [转帖]Mysql各版本介绍及下载

    Mysql各版本介绍及下载 http://blog.itpub.net/12679300/viewspace-1251661/ 原创 MySQL 作者:wzq609 时间:2014-08-15 10: ...