JS(4)

复习

  1. 函数 function
    函数的声明 函数的调用 函数的传参
  2. 函数返回值
    Return 返回结果 返回给函数
    Id 函数 function $id(id) { return document.getElementById(id);}
  3. 获得焦点 onfocus 失去焦点 onblur
  4. this 这个 自己的 指向的是 事件调用者
  5. InnerHTML 属于盒子的内容 表单的内容 value
  6. 表单自动获得焦点 focus() 选择表单内容 select();
  7. for(var i = 0; i<100;i++) { } 遍历
  8. for(;;){ } 死循环
  9. getElementById() id元素 一个
  10. getElementsByTagName() 很多个

判断用户输入事件

正常浏览器 : oninput
Ie 678 支持的 : onpropertychange

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .search {
            width:300px;
            height: 30px;
            margin: 100px auto;
            position: relative;
        }
        .search input {
            width:200px;
            height:25px;

        }
        .search label {
            font-size: 12px;
            color:#ccc;
            position: absolute;
            top:8px;
            left:20px;
            cursor: text;
        }
    </style>
    <script>
        window.onload = function(){
            function $(id){return document.getElementById(id);}
            //oninput 大部分浏览器支持  检测用户表单输入内容
            //onpropertychange  ie678  检测用户表单输入内容
            $("txt").oninput = $("txt").onpropertychange = function(){
                if(this.value == " ")
                {
                    $("message").style.display = "block";
                }
                else
                {
                    $("message").style.display = "none";

                }
            }
        }
    </script>
</head>
<body>
<div class="search">
    <input type="text" id="txt"/>
    <label for="txt" id="message">必败的国际大牌</label>
</div>
</body>
</html>

数组 array

声明数组

var arr = [1,3,5,7,9];
var arr = new Array(1,3,5);

使用数组

使用的方法: 数组名[索引值]; 函数名();
索引号是从0开始的。 0 1 2 3 4 5 …
var textArr = ["刘备","诸葛亮","赵云","关羽"];
console.log(textArr[3]);

数组的长度

数组名.length;

遍历数组

想到了for 遍历 数组
getElementsByTagName() 得到一个伪数组

案例 隔行变色

 <!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box {
            width: 300px;
        }
        li {
            line-height: 30px;
            list-style-type: none;
        }
        li span {
            margin:5px;
        }
        .current{
            background-color: #aaa!important;
        }
    </style>
    <script>
        window.onload = function(){
            var lis = document.getElementsByTagName("li");
            for(var i=0;i<lis.length;i++)
            {
                if(i % 2 == 0)
                {
                    lis[i].style.backgroundColor = "#eee";
                }
                else
                {
                    lis[i].style.backgroundColor = "#ddd";
                }

                lis[i].onmouseover = function(){

                    this.className = "current";
                }
                lis[i].onmouseout = function(){

                    this.className = "";
                }
            }

          /*  var lis = document.getElementsByTagName("li");  // 得到所有的li
//alert(lis.length);
            for(var i = 0; i<lis.length; i++)
            {
                if(i%2 == 0)  // 只有偶数能被2整除
                {
                    lis[i].style.backgroundColor = "#eee";
                }
                //鼠标经过li 的时候, 当前的底色变亮
                lis[i].onmouseover = function(){
                    this.className = "current";
                }
                lis[i].onmouseout = function(){
                    this.className = "";
                }
            }*/
        }
    </script>
</head>
<body>
<div class="box">
    <ul>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
        <li>
            <span>上证指数</span><span>3641</span><span>10-5</span><span>0.16%</span>
        </li>
    </ul>
</div>
</body>
</html>

补充:h5-placeholder

<input type="text" placeholder="必败的国际大牌"/>
可以起到搜索栏输入,value值消失的效果。

求平均值

<script>
var arr = [10,20,30,34,67];
    function avg(array){  // 封装求平均值函数
        var len = array.length;  // 数组的长度
        var sum = 0;
        for(var i=0; i<len; i++)
        {
            sum += array[i];   //     sum = sum +array[i];
        }
        return sum / len;
    }
    //a*=3   a= a*3
    console.log(avg(arr));
</script>

input 字符型

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
        window.onload = function(){
            var txt = document.getElementById("txt");
            var btn = document.getElementsByTagName("button")[0];
            btn.onclick = function(){
                //alert(typeof txt.value);
                var num = Number(txt.value);
                alert(num + num);


            }
        }
    </script>
</head>
<body>
<input type="text" id="txt"/>
<button>点击</button>
</body>
</html>

排他思想

排他思想:
首先干掉所有元素, 剩下一个元素

  <script>
    window.onload = function(){
        var btns = document.getElementsByTagName("button");
        for(var i=0;i<btns.length;i++)
        {
            btns[i].onclick = function(){
                //清除所有人的 类名   只能用 for 遍历
                for(var j=0;j<btns.length;j++)
                {
                    btns[j].className = "";
                }
                //就剩下自己 就是一个 而且是点击那个
                this.className = "damao";
            }
        }
    }
</script>

案例:全选与反选

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
        window.onload = function(){
            var btns = document.getElementsByTagName("button"); // 得到了所有的button
            var inputs = document.getElementById("bottom").getElementsByTagName("input");
            // bottom 里面的input
       /*     btns[0].onclick = function(){

                for(var i=0; i<inputs.length;i++)
                {
                    inputs[i].checked = true;  // 选中表单
                }
            }

            btns[1].onclick = function(){

                for(var i=0;i<inputs.length;i++)
                {
                    inputs[i].checked = false;
                }
            }

            btns[2].onclick = function(){

                for(var i=0;i<inputs.length;i++)
                {
                    if(inputs[i].checked == true)
                    {
                        inputs[i].checked = false;
                    }
                    else
                    {
                        inputs[i].checked = true;
                    }
                }
            }*/

            /*全选和取消 函数*/
             function all(flag){
                 for(var i=0;i<inputs.length;i++)
                 {
                     inputs[i].checked = flag;
                 }
             }
             btns[0].onclick = function(){
                  all(true);
             };
             btns[1].onclick = function(){
                  all(false);
             };
             btns[2].onclick = function(){

                 for(var i=0;i<inputs.length;i++)
                 {
                     inputs[i].checked == true ?  inputs[i].checked = false : inputs[i].checked = true;
                 }
             }
        }
    </script>
</head>
<body>
<div id="top">
    <button>全选</button>
    <button>取消</button>
    <button>反选</button>
</div>
<div id="bottom">
    <ul>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
        <li>选项: <input type="checkbox"/></li>
    </ul>
</div>
</body>
</html>

变量和属性

变量
是独立存在的 自由自在的
miss 小姐 女士
属性和方法
属于某个对象的 属性和 方法
mrs

var index = 10; //变量 谁都可以使用
var arr = []; // 数组
arr.index = 20; // 自定义属性 他只能在arr 才能使用
alert(arr.index);

tab栏切换案例

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box {
            width: 400px;
            margin:100px auto;
            border:1px solid #ccc;
        }
        .bottom div{
            width:100%;
            height: 300px;
            background-color: pink;
            display: none;
        }
        .purple {
            background-color: purple;
        }

    </style>
    <script>
        window.onload = function(){
            var btns = document.getElementsByTagName("button");
            var divs = document.getElementById("divs").getElementsByTagName("div");
            for(var i=0;i<btns.length;i++)
            {
                btns[i].index = i;  // 难点
                btns[i].onclick = function(){
                    //让所有的 btn 类名清空
                    //alert(this.index);
                    for(var j=0;j<btns.length;j++)
                    {
                        btns[j].className = "";
                    }
                    // 当前的那个按钮 的添加 类名
                    this.className = "purple";
                    //先隐藏下面所有的 div盒子
                    for(var i=0;i<divs.length;i++)
                    {
                        divs[i].style.display = "none";
                    }
                    //留下中意的那个 跟点击的序号有关系的
                    divs[this.index].style.display ="block";
                }
            }
        }
    </script>
</head>
<body>
<div class="box">
    <div class="top">
        <button>第一个</button>
        <button>第二个</button>
        <button>第三个</button>
        <button>第四个</button>
        <button>第五个</button>
    </div>
    <div class="bottom" id="divs">
        <div style="display: block;">1好盒子</div>
        <div>2好盒子</div>
        <div>3好盒子</div>
        <div>4好盒子</div>
        <div>5好盒子</div>
    </div>
</div>

</body>
</html>

改进版本:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        .box {
            width: 400px;
            margin:100px auto;
            border:1px solid #ccc;
        }
        .bottom div{
            width:100%;
            height: 300px;
            background-color: pink;
            display: none;
        }
        .purple {
            background-color: purple;
        }
        .bottom .show {
            display: block;
        }

    </style>
    <script>
        window.onload = function(){
            var btns = document.getElementsByTagName("button");
            var divs = document.getElementById("divs").getElementsByTagName("div");
            for(var i= 0;i<btns.length;i++)
            {
                btns[i].index = i;  // 难点
                btns[i].onclick = function(){
                    //让所有的 btn 类名清空
                    //alert(this.index);
                    for(var j=0;j<btns.length;j++)
                    {
                        btns[j].className = "";
                        divs[j].className = "";
                    }
                    // 当前的那个按钮 的添加 类名
                    this.className = "purple";
                    //先隐藏下面所有的 div盒子
                    //留下中意的那个 跟点击的序号有关系的
                    divs[this.index].className = "show";
                }
            }
        }
    </script>
</head>
<body>
<div class="box">
    <div class="top">
        <button>第一个</button>
        <button>第二个</button>
        <button>第三个</button>
        <button>第四个</button>
        <button>第五个</button>
    </div>
    <div class="bottom" id="divs">
        <div class="show">1好盒子</div>
        <div>2好盒子</div>
        <div>3好盒子</div>
        <div>4好盒子</div>
        <div>5好盒子</div>
    </div>
</div>

</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值