~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0">
<title>珠峰培训 - 微信:18310612838</title>
<!-- IMPORT CSS -->
<link rel="stylesheet" href="reset.min.css">
<style>
html,
body {
height: 100%;
overflow: hidden;
}
</style>
</head>
<body style="background-color: white;">
<button id="changeBtn">点击切换BODY的颜色 白->红->蓝->绿->白</button>
<!-- IMPORT JS -->
<script>
/*
* 点击BUTTON的时候,获取到当前BODY的背景颜色,根据现有的背景颜色,把其更改为对应的颜色
* 1.想要操作谁,就先获取谁
* 2.事件绑定
* 3.实现对应的需求逻辑即可
*
* body.style.backgroundColor 操作的是元素的行内样式(只对元素行内上写的样式有作用),扩展思考:想要获取元素的样式(不论写在哪的样式),后面课程中会讲到 getComputedStyle
*
* 在JS中获取颜色,如果设置的时候是基于16进制或者RGB表示法写的样式,得到的结果一般都是RGB的染色值(我们最好把需要在JS中获取的颜色用英文单词表示法编写)
* #fff 会得到rgb颜色,如果是white,那么得到的就是white
*/
let body = document.body,
changeBtn = document.getElementById('changeBtn');
changeBtn.onclick = function () {
// 每一次点击要获取当前最新的背景颜色
let bg = body.style.backgroundColor;
/* if (bg === 'white') {
body.style.backgroundColor = 'red';
} else if (bg === 'red') {
body.style.backgroundColor = 'blue';
} else if (bg === 'blue') {
body.style.backgroundColor = 'green';
} else {
body.style.backgroundColor = 'white';
} */
// SWITCH CASE只应用于 一个变量(JS表达式)在不同值情况下的不同操作
switch (bg) {
case 'white':
body.style.backgroundColor = 'red';
break;
case 'red':
body.style.backgroundColor = 'blue';
break;
case 'blue':
body.style.backgroundColor = 'green';
break;
default:
body.style.backgroundColor = 'white';
}
};
</script>
<script>
// 颜色是由变化规律的:红->蓝->绿->白
let body = document.body,
changeBtn = document.getElementById('changeBtn');
let arr = ['red', 'blue', 'green', 'white'],
index = -1;
changeBtn.onclick = function () {
index++;
if (index > arr.length - 1) {
// 已经到头了,则从索引零重新开始即可
index = 0;
}
body.style.backgroundColor = arr[index];
};
/*
* arr.length-1=3 最大索引(长度-1,因为索引从零开始)
* 第一次点击
* index++ => index=0
* body.style.backgroundColor = arr[0]; 'RED'
* 第二次点击
* index++ => index=1
* body.style.backgroundColor = arr[1]; 'BLUE'
* 第三次点击
* index++ => index=2
* body.style.backgroundColor = arr[2]; 'GREEN'
* 第四次点击
* index++ => index=3
* body.style.backgroundColor = arr[3]; 'WHITE'
* 第五次点击
* index++ => index=4
* if(4>3) => index=0
* body.style.backgroundColor = arr[0]; 'RED'
* ......
*/
</script>
</body>
</html>
~~~
~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0">
<title>珠峰培训 - 微信:18310612838</title>
<!-- IMPORT CSS -->
<link rel="stylesheet" href="reset.min.css">
<style>
</style>
</head>
<body>
<!-- <input type="text" id="inpBox">
<button id="submit">提交</button> -->
<!-- IMPORT JS -->
<script>
let inpBox = document.getElementById('inpBox'),
submit = document.getElementById('submit');
submit.onclick = function () {
// 获取文本框中的内容(默认是字符串,需要转换为数字)
let val = inpBox.value;
val = Number(val);
if (isNaN(val) || val < 1000 || val > 9999) {
alert('输入的年份必须合法!');
return; //=>遇到RETURN下面代码就不在执行了
}
if ((val % 4 === 0 && val % 100 !== 0) || val % 400 === 0) {
alert(`${val}年是闰年!`);
} else {
alert(`${val}年是平年!`);
}
}
</script>
<script>
let inpBox = document.getElementById('inpBox'),
submit = document.getElementById('submit');
submit.onclick = function () {
let val = inpBox.value;
val = Number(val);
if (isNaN(val)) {
alert('请输入有效数字!');
return;
}
if (val % 2 === 0) {
alert(`${val}是偶数!`);
} else {
alert(`${val}是奇数!`);
}
}
</script>
<script>
let inpBox = document.getElementById('inpBox'),
submit = document.getElementById('submit');
submit.onclick = function () {
let val = inpBox.value;
val = Number(val);
if (isNaN(val)) {
alert('请输入有效分数!');
return;
}
if (val >= 90) {
alert(`优秀!`);
} else if (val >= 80 && val < 90) {
alert(`中等`);
} else if (val >= 70 && val < 80) {
alert(`及格`);
} else {
alert(`不及格`);
}
}
</script>
工作年限:<input type="text" id="workYear">
<br>
工作薪酬:<input type="text" id="workMoney">
<br>
<button id="submit">提交</button>
<script>
let workYear = document.getElementById('workYear'),
workMoney = document.getElementById('workMoney'),
submit = document.getElementById('submit');
submit.onclick = function () {
let year = workYear.value,
money = workMoney.value;
year = Number(year);
money = Number(money);
// 最好把YEAR和MONEY做非有效数字的校验
if (isNaN(year) || isNaN(money)) {
alert('输入有误,请查证');
return;
}
let result = 0; //=>设置初始值
if (year === 0) {
if (money >= 8000) {
result = money * 1.2;
} else {
result = money * 1;
}
} else if (year === 1) {
if (money >= 10000) {
result = money * 1.7;
} else {
result = money * 1.5;
}
} else {
if (money >= 12000) {
result = money * 3.2;
} else {
result = money * 3;
}
}
alert(`你应该拿到的年终奖是:¥${result.toFixed(2)}`);
}
</script>
汽油型号:<select id="modelInp">
<option value="95" selected>#95</option>
<option value="97">#97</option>
</select>
<br>
汽油升数:<input type="text" id="priceInp">
<br>
<button id="submit">提交</button>
<script>
let modelInp = document.getElementById('modelInp'),
priceInp = document.getElementById('priceInp'),
submit = document.getElementById('submit');
submit.onclick = function () {
let model = modelInp.value,
price = priceInp.value;
model = Number(model);
price = Number(price);
if (isNaN(model) || isNaN(price)) {
alert('输入有误,请查证');
return;
}
let result = model === 95 ? (price >= 20 ? price * 5.9 : price * 6) : (price >= 30 ? price * 6.95 : price *
7);
if (model === 95) {
if (price >= 20) {
result = price * 5.9;
} else {
result = price * 6;
}
} else {
if (price >= 30) {
result = price * 6.95;
} else {
result = price * 7;
}
}
alert(`支付总价:¥${result.toFixed(2)}`);
}
</script>
</body>
</html>
~~~
- 0001.开课说明
- 0002.ECMAScript的发展历程
- 0003.WEB2.0时代-服务器端渲染,前后端不分离
- 0004.WEB2.0时代-前后端分离模式
- 0005.大前端时代概述
- 0006.前端需要的技术栈和学习技巧
- 0007.浏览器
- 0008.JS的三部分组成
- 0009.JS中创建变量的6种形式
- 0010.JS中变量的命名规范
- 0011.JS中的数据类型分类
- 0012.JS中常用的几种输出方式
- 0013.number属性类型详细解读1
- 0014.number数据类型详细解读2
- 0015.string数据类型详细解读1
- 0016.string数据类型详细解读2
- 0017.boolean数据类型详细解读
- 0018.object数据类型详细解读1
- 0019.object数据类型详细解读2
- 0020.谈谈学习
- 0021.数据类型检测
- 0022.浏览器底层渲染机制(堆栈内存和数据类型区别)
- 0023.关于数据类型区别的面试题
- 0024.课后作业讲解:数据类型转换
- 0025.课后作业讲解:堆栈内存处理
- 0026.课后作业讲解:阿里的一道经典面试题
- 0027.JS中三种常用的判断语句
- 0028.小实战:开关灯特效
- 0029.FOR循环和FOR IN循环
- 0030.课后作业讲解:关于循环判断和数据转化
- 0031.课后作业讲解:关于DOM对象的深入理解
- 0032.关于元素集合的相关操作(奇偶行变色)
- 0033.课后作业讲解:逻辑思维判断题
- reset.min.css
- 0034.(复习)前四天内容的综合复习梳理
- 0035.初窥函数:函数的作用、语法、形参
- 0036-0038.选项卡案例
- 0039.隔行变色案例:进一步强化自定义属性编程思想
- 0040.其它作业题的讲解(自定义属性强化)
- 0041.函数创建和执行的堆栈运行机制
- 0042.函数中的形参和实参
- 0043.函数中的实参集合ARGUMENTS
- 0044.函数中的返回值RETURN
- 0045.箭头函数和匿名函数
- 0046.两个等于比较时候的数据类型转换规则
- 0047.数组的基础结构和常规操作
- 0048.数组常用方法:增删改的五个方法
- 0049.数组常用方法:查询、拼接、转换为字符串
- 0050.数组常用方法:检测是否包含、排序和迭代
- 0051.数组去重:双FOR循环(数组塌陷和SPLICE删除优化)
- 0052.数组去重:对象键值对方式(ES6中SET)
- 0053.Math数学函数对象中常用的方法
- 0054.String字符串中常用的方法
- 0055.实战案例:时间字符串格式化
- 0056.实战案例:queryURLParams1
- 0057.实战案例:queryURLParams2
- 0058.实战案例:获取四位不重复的验证码
- 0059.阶段作业题讲解1(基础知识)
- 0060.阶段作业题讲解2(实战案例)
- 0061-0062.DOM操作中相关知识的复习
- 0063.DOM中的节点操作1
- 0064.DOM中的节点操作2
- utils
- 65.关于DOM的增删改