JavaScript学习4

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(初始值,循环条件,自增条件){
        执行语句
    }

for循环的使用需求:
1、当操作一组元素的时候会用到for
2、重复做一件事情的时候

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>

 

posted @ 2022-06-22 00:23  思江  阅读(19)  评论(0编辑  收藏  举报