美文网首页
2016.11.26 JS

2016.11.26 JS

作者: 看流沙聚散 | 来源:发表于2016-11-27 21:16 被阅读0次
    array.push:给数组最后增加元素

    数据类型

    1.对象([ ],{ },null)object
    2.数字number
    3.字符串string
    4.函数function
    5.未定义undefined
    6.布尔booleam

    字符串转换成数字

    Number()
    Number是整体转化
    Number(function(){});//转化为NaN,非数字
    Number(['']);//0
    Number([1,2,3]);//NaN
    Number({});//NaN
    Number(null);//0
    对象和有多个数据的数组都会转化为NaN
    parseInt:解析成整数,只能转字符串,其他的都不能转;从左到右一位一位的看,如果遇到非数字就停止,也认一些数字:如 空格,+,-,10px

    parseFloat(浮点数):可以转化小数,认小数

    隐式类型转换

    在做加法时,如果有字符串,会将我的操作数都变成字符串,然后再相加 如:'1'+1;//11
    "-":会转换成数字 如 '10'-1;//9
    - ,/ ,% ,*:都会转换成数字
    字符串比较:'9'<'10';//false 是一位一位的比较 先比较9<1

    NaN

    NaN:not a number 不是个 数字 的 数字类型
    NaN 可以看成是false
    NaN自己和自己都不相等 NaN==NaN是false
    isNaN(NaN)是true

    封装函数

    1.先将代码全部放在函数中,调用确保可运行
    2.修改我的顶点元素,防止外部的影响
    3.将变化的信息变成自变量,形成可以定制化的效果
    4.html结果尽量保持一致
    例子:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    <style>
    *{
        margin: 0;
        padding: 0;
    }
    
    .box{
        width: 350px;
        float: left;
        margin: 50px;
        position: relative;
    }
    
    img{
        width: 100%;
    }
    
    
    ul{
        list-style: none;
        position: absolute;
        top: -10px;
        right: -60px;
    }
    
    li{
        height: 50px;
        width: 50px;
        background: #ccc;
        margin-top: 10px;
    }
    
    li.active{
        background: yellow;
    }
    
    
    
    </style>
    </head>
    <body>
        <div class="box" id="box1">
            <img src="img/1.png" alt="" class="img1">
            <ul>
            </ul>
        </div>
    
        <div class="box" id="box2">
            <img src="img/1.png" alt="" class="img1">
            <ul>
            </ul>
        </div>
    
    
        <div class="box" id="box3">
            <img src="img/1.png" alt="" class="img1">
            <ul>
            </ul>
        </div>
    <script>
    
    function changeImgs(oBox  ,imgs){
        // var arr = ['img/1.png','img/2.png','img/3.png','img/4.png', 'img/4.png', 'img/4.png'];
        var arr = imgs;
        var oImg = oBox.getElementsByClassName('img1')[0];
        var aLi = oBox.getElementsByTagName('li');
        var oUl = oBox.getElementsByTagName('ul')[0];
    
        //当前的选择索引
        var cur = 0;//第一张图片
    
    
    
        //根据图片的个数动态的生成li
        var str = '';
        for(var i=0;i<arr.length;i++){
            if(i==cur){
                str = str + '<li class="active"></li>';
            }
            else{
                str = str + '<li></li>';
            }
            
        }
    
        oImg.src = arr[cur];
    
        oUl.innerHTML = str;
    
    
    
        function onSelect(){
            //切换图片
            oImg.src = arr[this.index];
    
            //改变按钮样式
            // this.className = 'active';
    
            //两种方式:
            //第一种: 先清除所有li的class, 然后在点击的li加上.active
    
            // for(var i=0;i<aLi.length;i++){
            //  aLi[i].className = '';
            // }
    
            // this.className = 'active';
    
            //第二种方法: 先清除之前选择的li, 然后在点击的li加上.active
    
    
    
            aLi[cur].className = '';
            this.className = 'active';
    
            cur = this.index;
    
    
    
    
    
        }
    
        for(var i=0;i<aLi.length;i++){
            //添加点击函数
            aLi[i].index = i;
            aLi[i].onclick = onSelect;
        }
    
    }
    var oBox = document.getElementById("box1");
    var oBox2 = document.getElementById("box2");
    var oBox3 = document.getElementById("box3");
    
    
    changeImgs(oBox, ['img/1.png','img/2.png', 'img/3.png']);
    changeImgs(oBox2, ['img/3.png','img/4.png']);
    changeImgs(oBox3, ['img/3.png','img/4.png', 'img/1.png']);
    
    
    //封装成函数
    1. html结果尽量保持一致
    1. 先将代码全部放在函数中, 测试,确保可运行
    2. 修改我的顶点元素,防止对外部的影响
    3. 将变化的信息变成自变量,形成可以定制化的效果
    
    
    </script>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:2016.11.26 JS

          本文链接:https://www.haomeiwen.com/subject/ucunpttx.html