1、if语句的使用:如果...否则
if(判断条件){
//当判断条件满足时,执行该处代码
}else{
//当判断条件不满足时,执行该处代码
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id='box' style="width: 200px;height: 200px;background: red;"></div>
<button id="btn">验证</button>
<script>
var box = document.getElementById('box');
var btn = document.getElementById('btn');
//if(判断条件){条件成立执行}
btn.onclick = function () {
//当宽度=200px时
if (box.style.width == '200px') {
alert("条件成立!!")
}else{
//不满足条件执行
alert("条件不成立!!")
}
}
</script>
</body>
</html>
2、多条件判断if...else if...:r如果...或者如果...否则
if(判断条件){
//当判断条件满足时,执行该处代码
}else if(判断条件){
//当判断条件满足时,执行该处代码
}else if(判断条件){
//当判断条件满足时,执行该处代码
}else{
//当判断条件不满足时,执行该处代码
}
实现一个评分系统
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input id='score' type="text">
<button id="btn">评级</button>
<script>
var score = document.getElementById('score');
var btn = document.getElementById('btn');
btn.onclick = function () {
var scoreTxt = score.value;
if(scoreTxt >= 80){
alert('优秀!');
}else if(scoreTxt >= 70){
alert('良好!');
}else if(scoreTxt >= 60){
alert('一般!');
}else{
alert('不及格~!!')
}
}
</script>
</body>
</html>
注意事项:
1)判断条件可以有多个。
2)可以只有if没有else。
3、判断条件之布尔值
true 真
false 假
4、比较运算符
5 > 10 大于 -->false
5 < 10 小于 -->true
5 == 10 等于 -->false
5、逻辑运算符
与&&
或||
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input id='score' type="text">
<button id="btn">评级</button>
<script>
var score = document.getElementById('score');
var btn = document.getElementById('btn');
btn.onclick = function () {
var scoreTxt = score.value;
// && 与
// if(scoreTxt <= 100 && scoreTxt >= 0){
// alert('正常值!!');
// }else {
// alert('非正常值!!');
// }
// || 或
if(scoreTxt > 100 || scoreTxt < 0) {
alert('非正常值!!');
}else {
alert('正常值!!');
}
//
}
</script>
</body>
</html>
非!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id='box' style="width: 200px;height: 200px;background: red;"></div>
<button id="btn">验证</button>
<script>
var box = document.getElementById('box');
var btn = document.getElementById('btn');
//定义开关:下拉菜单的打开与关闭的切换
var onOff = true;
//if(判断条件){条件成立执行}
btn.onclick = function () {
if (onOff) {
alert("条件成立!!")
// onOff = false;
}else{
//不满足条件执行
alert("条件不成立!!")
// onOff = true;
}
// 每次都需要修改取反,可控制开关
onOff = !onOff;
}
</script>
</body>
</html>
6、定义数组
1)[ ] 可以存储多个值
2)每个值之间利用都好进行间隔,最后一个值后面没有逗号
var arr = ['a','b','c'];
3)数组的长度length
var arr = ['a','b','c'];
/*
* 通过length属性可以查看当前数组中有多少个值
* */
arr.length
7、for循环和this指向
1)对一个div操作实例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 100px;
height: 100px;
background: red;
margin: 20px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<script>
//假如对一个div进行操作
// var div = document.querySelector('div');
// div.onclick = function () {
// div.style.background = 'yellow';
// }
/*假如对2个div进行操作
* 现在可以获取到一个元素all所有、全部
* 获取了一组div
* 不能直接给一组元素加事件
* 类数组
* */
var divs = document.querySelectorAll('div');
//获取元素的长度
// console.log(divs.length);-->2
// divs.onclick = function () {
// divs.style.background ='green';
// }
divs[0].onclick = function () {
divs[0].style.background = 'green';
};
divs[1].onclick = function () {
divs[1].style.background = 'blue';
};
//假如对100个div进行操作,引出for循环
</script>
</body>
</html>
2)假如对100个div进行操作,引出for循环
for(初始值,循环条件,自增条件){
执行语句
}
8、this指向
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 100px;
height: 100px;
background: red;
margin: 20px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<script>
var divs = document.querySelectorAll('div');
//加入对100个div进行操作,引出for循环
//for循环重复不断的做一件事情
// for(初始值,循环条件,自增条件){
// 执行语句
// }
// for循环在页面加载时执行!!
for(var i=0;i<divs.length;i++){
//执行3次
// alert(i);
// console.log(i);-->0 1 表示执行了2次
divs[i].onclick = function () {
// console.log('点击事件内的i'+ i); -->此时的i的值是2
// 当 divs[2].style时,因为没有定义divs[2]导致报错》》Uncaught TypeError: Cannot read properties of undefined (reading 'style')
divs[i].style.background = 'green';
};
}
//i=2时for循环结束
</script>
</body>
</html>
this指向
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 100px;
height: 100px;
background: red;
margin: 20px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<script>
var divs = document.querySelectorAll('div');
for(var i=0;i<divs.length;i++){
divs[i].onclick = function () {
//this就是当前调用事件的元素
this.style.background = 'green';
};
}
</script>
</body>
</html>
9、元素的自定义属性
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 100px;
height: 100px;
background: red;
margin: 20px;
}
</style>
</head>
<body>
<div class="box" id="abc" title="啦啦啦"></div>
<script>
var div = document.querySelectorAll('div')[0];
//自定义属性
div.title = '哈哈哈';
//自定义属性在f12看不到,但是可以获取到
console.log(div.title)
</script>
</body>
</html>
10、复选框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div class="box">
<h3>模拟复选</h3>
<div class="option">
<a href="javascript:;">美食</a>
<a href="javascript:;">逛街</a>
<a href="javascript:;">旅游</a>
</div>
</div>
<script>
/*
* 1、for
* 2、if
* 3、开关
* 4、自定义属性
* */
//获取一组a标签
var btns = document.querySelectorAll('.option a');
// for 给一组元素加事件
for(var i=0;i<btns.length;i++){
btns[i].onclick = function () {
//操作对应的按钮class
this.className = 'checked';
}
}
</script>
</body>
</html>
11、单选框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.choice{
width: 200px;
height: 200px;
margin: 0 auto;
}
.choice a{
display: block;
width: 87px;
height: 20px;
/* border: 1px solid black; */
text-decoration: none;
text-align: center;
}
.checked{
border: 1px solid red;
}
</style>
</head>
<body>
<div class="choice">
<a href="javascript:;">男</a>
<a href="javascript:;">女</a>
<a href="javascript:;">保密</a>
</div>
<script>
/*
1.获取元素绑定元素
2、for添加点击事件
3、点击摸一个按钮之后先将所有按钮class都变空
4、找到对应点击的按钮给他单独加上class=checked
*/
//获取元素绑定元素
var btns = document.querySelectorAll('.choice a');
// 需要操作一组元素的时候就要用到for
for(var i=0; i<btns.length;i++){
btns[i].onclick = function(){
//点击摸一个按钮之后先将所有按钮class都变空
for(var j =0 ; j<btns.length;j++){
btns[j].className = '';
}
//找到对应点击的按钮给他单独加上class=checked
this.className = 'checked';
}
}
</script>
</body>
</html>
12、this函数下是this
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.choice{
width: 200px;
height: 200px;
margin: 0 auto;
}
.choice a{
display: block;
width: 87px;
height: 20px;
/* border: 1px solid black; */
text-decoration: none;
text-align: center;
}
.checked{
border: 1px solid red;
}
</style>
</head>
<body>
<div class="choice">
<a href="javascript:;">男</a>
<a href="javascript:;">女</a>
<a href="javascript:;">保密</a>
</div>
<script>
/*
1.获取元素绑定元素
2、for添加点击事件
3、点击摸一个按钮之后先将所有按钮class都变空
4、找到对应点击的按钮给他单独加上class=checked
*/
//获取元素绑定元素
var btns = document.querySelectorAll('.choice a');
// 需要操作一组元素的时候就要用到for
for(var i=0; i<btns.length;i++){
btns[i].onclick = function(){
//点击摸一个按钮之后先将所有按钮class都变空
for(var j =0 ; j<btns.length;j++){
btns[j].className = '';
}
//找到对应点击的按钮给他单独加上class=checked
this.className = 'checked';
}
}
</script>
</body>
</html>
13、classList
1)add()
2)remove()
3)contains()
4) toggle()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>class列表</title>
<style>
div{
width:200px;
height:200px;
background: red;
}
.show{border:20px solid yellow;}
.now{height:300px;}
</style>
</head>
<body>
<div class="show active"></div>
<script>
//classList class列表
//操作元素的class属性的
//obj.className操作class的
var div =document.querySelector('div');
div.onclick = function () {
// //需要将原有的class自己手动加上
// div.className = 'show active now';
//体现classList的作用
// add():在class原有的基础上添加一个属性
// div.classList.add('now');
//remove(),删除class的某个属性
// div.classList.remove('show');
//contains(),判断是否含有某个class contains
// console.log(this.classList.contains('active')); // true
// console.log(this.classList.contains('abc')); // false
//toggle(),切换class,(添加/删除)例如:点击一下有,再点击一下无
div.classList.toggle('now');
}
</script>
</body>
</html>
14、九九乘法表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body{
margin: 0px;
font-size: 0px;
}
div{
width: 120px;
height: 40px;
line-height: 40px;
text-align: center;
color: #fff;
margin-right: 2px;
margin-bottom: 2px;
border-radius: 5px;
background: lightcoral;
display: inline-block;
font-size: 16px;
}
.warp{
background: url(img/bg.jpg) no-repeat center;
height: 1067px;
overflow: hidden;
}
#box{
width: 1157px;
height: 436px;
background: linear-gradient(45deg,#dad4fa,#edebfd);
border-radius:20px;
padding:30px 0 0 30px;
box-sizing:border-box;
margin: 454px auto 0;
position: relative;
}
</style>
</head>
<body>
<section class="warp">
<section id="box">
</section>
</section>
<script>
var box = document.getElementById('box');
var colors = ['#78cc64','#58cd7e','#4fcdad','#4cc7dd','#469ee8','#465de8','#5846e8','#8346e8','#9e46e8'];
var str = '';
for(var i = 1;i<10;i++){
for(var j = 1;j<=i;j++){
// box.innerHTML += '<div>' + j + ' * ' + i + ' = ' + j * i + '</div>';
str += '<div style="background: '+ colors[i -1] + '">' + j + ' * ' + i + ' = ' + j * i + '</div>';
}
str += '</br>'
}
box.innerHTML = str;
</script>
</body>
</html>