zoukankan      html  css  js  c++  java
  • localStorage实现购物车数量单价和总价实时同步(二)

    利用localStorage实时显示购物车小计和总价页面显示:

    和昨天的原理相同,本地存储同时实时循环计算总价之和,注意循环时候的先清空再计算

    Success is getting what you want, happiness is wanting what you get.
    成功是得其所想,幸福是想其所得!

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            document.addEventListener('DOMContentLoaded',function(){
                var aInp=document.querySelectorAll('input');
                var oPer=document.getElementsByTagName('em');
                var oStotal=document.getElementsByTagName('i');
                var oDiv=document.getElementById('div1');
    
                for(var i=0;i<aInp.length;i++){
                    (function(index){
                        //当aInp中的数字为0时清除localsotage中的数据
                        if(aInp[index].value=='0'){
                            delete localStorage[index];
                        }
                        //当aInp中数字发生变化的时候存储localstorage
                        aInp[index].onchange=function(ev){
                            localStorage[index]=parseFloat(oPer[index].innerHTML)*aInp[index].value;
                            oStotal[index].innerHTML='小计'+Number(localStorage[index]);
                            //获取localStorage并显示在总价中
                            var sum=0;
                            for(var name in localStorage){
                                sum+=Number(localStorage[name]);
                                oDiv.innerHTML='总价:'+sum;
                            }
                        };
                    })(i);
                }
            },false);
        </script>
    </head>
    <body>
    <div>
        <p>商品名称:苹果</p>
        <input type="number" min="0" value="0">
        <em>3$</em><br><br>
        <i></i>
    </div>
    <div>
        <p>商品名称:橘子</p>
        <input type="number" min="0" value="0">
        <em>6$</em><br><br>
        <i></i>
    </div>
    <div>
        <p>商品名称:香蕉</p>
        <input type="number" min="0" value="0">
        <em>9$</em><br><br>
        <i></i>
    </div>
    <div id="div1">0</div>
    </body>
    </html>
    

      

  • 相关阅读:
    JavaScript 面向对象的编程(二) 类的封装
    js 防止重复提交表单
    JavaScript 面向对象的编程(一)
    layui laypage 当前页刷新问题
    jquery 选中设置的值
    突然觉得前端js挺不错的
    centos6.8 安装gitlab记录
    3/25/2018 学**况
    Threading、multiprocessing
    正则表达式 RegEx(Regular Expression)
  • 原文地址:https://www.cnblogs.com/jasonwang2y60/p/6021565.html
Copyright © 2011-2022 走看看