美文网首页
JavaScript基础 函数 案例2

JavaScript基础 函数 案例2

作者: 0说 | 来源:发表于2018-01-26 00:38 被阅读0次
div布局图
变成数量对应价格跟数量变
<body>
    <div class="wrap">
        <table>
            <tr>
                <td>商品</td>
                <td>单价</td>
                <td>数量</td>
                <td>小计</td>
            </tr>
            <tr>
                <td>
                    <img src="images/shop2.jpg" alt='#' width="220" height="220">
                </td>
                <td class='nor-pri'>8</td>
                <td>
                    <p>
                        <span class="lower">-</span>
                        <span class="val">0</span>
                        <span class="add">+</span>
                    </p>
                </td>
                <td class="price">0</td>
            </tr>
            <tr>
                <td>
                    <img src="images/shop1.jpg" alt='#' width="220" height="220">
                </td>
                <td class='nor-pri'>10</td>
                <td>
                    <p>
                        <span class="lower">-</span>
                        <span class="val">0</span>
                        <span class="add">+</span>
                    </p>
                </td>
                <td class="price">0</td>
            </tr>
            <tr>
                <td>
                    <img src="images/shop2.jpg" alt='#' width="220" height="220">
                </td>
                <td class='nor-pri'>12.5</td>
                <td>
                    <p>
                        <span class="lower">-</span>
                        <span class="val">0</span>
                        <span class="add">+</span>
                    </p>
                </td>
                <td class="price">0</td>
            </tr>
            <tr>
                <td>
                    <img src="images/shop3.jpg" alt='#' width="220" height="220">
                </td>
                <td class='nor-pri'>23</td>
                <td>
                    <p>
                        <span class="lower">-</span>
                        <span class="val">0</span>
                        <span class="add">+</span>
                    </p>
                </td>
                <td class="price">0</td>
            </tr>
        </table>
        <div class="total">
            <span>已选中商品件数:<b>0</b>件</span>
            <span>总价格:<b>0</b></span>
        </div>
    </div>
    <script>
        var aWrap = document.getElementsByClassName( 'wrap' )[0],
            aLower = aWrap.getElementsByClassName( 'lower' ),
            aVal = aWrap.getElementsByClassName( 'val' ),
            aAdd = aWrap.getElementsByClassName( 'add' ),
            aB = aWrap.getElementsByTagName( 'b' ),
            aPrice = aWrap.getElementsByClassName( 'price' ),
            aNorpri = aWrap.getElementsByClassName( 'nor-pri' ),
            length = aLower.length,
            arrNum = [],
            arrPic = [];

            
            for (var i = 0; i <length; i++) {
                //获取初始值
               arrNum[i] = aVal[i].innerText - 0; //-0把aVal[i].innerText转成Number类型
               arrPic[i] = aNorpri[i].innerText - 0;//同上



                //加加
                aAdd[i].bool = true;//给aAdd每个加上一个bool = true
                aAdd[i].index = i;
                aAdd[i].onclick = event
            

               //减减
               aLower[i].index = i;
               // aLower[i].bool = false;
               aLower[i].onclick = event;


               
            }

            
            function event(){
                var tInd = this.index;
                if( this.bool ){ //我们给每个加加 加上bool = true 没有给减减加 点减减的时候this.bool是undefined  是为假;走 else
                    arrNum[tInd] ++ ;
                } else {
                    arrNum[tInd] --;
                    // if( arrNum[tInd] < 0 ) arrNum[tInd] = 0;
                    arrNum[tInd] = Math.max( 0 , arrNum[tInd] );//取0和arrNum的最大值 arrNum[tInd] 0 1 2 .... 当等于0的时候 最大就是0; arrNum[tInd]小于0还是取0;
                } 

           //封装函数
            function change( a ){
                var numSum = 0,
                    totPic = 0;
                for ( i = 0; i <length; i++) {
                        numSum += arrNum[i];
                        totPic += arrNum[i] * arrPic[i];
                    }
                aVal[a].innerText = arrNum[a];
                aPrice[a].innerText = arrNum[a] * arrPic[a];
                aB[0].innerText = numSum;
                aB[1].innerText = totPic;
            }
            
    </script>
</body>

重点:
arrNum[ tInd ] = Math.max( 0 , arrNum[tInd] );//取0和arrNum的最大值 arrNum[tInd] 0 1 2 .... 当等于0的时候 最大就是0; arrNum[tInd]小于0还是取0;

相关文章

  • JavaScript基础 函数 案例2

    重点:arrNum[ tInd ] = Math.max( 0 , arrNum[tInd] );//取0和a...

  • JavaScript基础 函数 案例

    封装的写法(以后经常用的写法) 用数组取值来代替if判断,比if好,运动速度也比较快;思路:获取判断的做判断,会返...

  • JavaScript基础(2)-(函数)

    javaScript(02) 1.函数的三种表现形式: 1.1关键字 1.2表达式: 1.3构造函数法: 1.4....

  • 2018-10-04

    JavaScript基础——函数 1、定义函数 定义函数的方法有两种: 1)使用function语句声明函数。 2...

  • JS相关思维导图

    javascript DOM操作 javascript windows对象 javascript函数基础 java...

  • JavaScript | 函数与方法

    Reference : JavaScript教程 - 廖雪峰的官方网站 JavaScript函数基础 定义函数 在...

  • part1整理

    函数式编程:JavaScript函数式编程指南 异步编程:异步编程 Promise源码 JavaScript基础知...

  • day05(2017.9.28)

    数组 声明变量是保存数据,数组可以保存多个变量 数组案例 函数 函数基础 函数小案例 arguments(参数)案例

  • javaScript系列 [06]-javaScript和thi

    在javaScript系列 [01]-javaScript函数基础这篇文章中我已经简单介绍了JavaScript语...

  • js基础

    JavaScript基础 JavaScript基础语法 变量的声明 运算符 分支结构 循环结构 函数 数据结构 w...

网友评论

      本文标题:JavaScript基础 函数 案例2

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