JavaScript实现简单的购物车

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>web storage</title>
</head>
<body>
<h3>JavaScript localStorage实现简单购物车</h3>
<div id="addgoods_Div">
    <div id = "add_frame">
        <label for="price">商 品:</label>
        <input type="text" id="price" name="price" class="text"/>
        <br/>
        <label for="goods">价 格:</label>
        <input type="text" id="goods" name="goods"/>

        <input id = "btn1" type="button" οnclick="save()" value="添加商品"/>
    </div>
</div>
<br/>
<div id="search_goods">
    <label for="search_price">输入商品名称:</label>
    <input type="text" id="search_price" name="search_price"/>
    <input id = "btn2" type="button" οnclick="find()" value="查找购物车商品"/>
    <p id="find_result"><br/></p>
</div>
<br/>
<div id="list">

</div>
<script>
    // 载入所有存储在localStorage的数据
    loadAll();

    //保存数据  
    function save(){
        var goods = document.getElementById("goods").value;
        var price = document.getElementById("price").value;
        localStorage.setItem(price, goods);
        loadAll();
        alert("添加成功");
    }
    //查找数据  
    function find(){
        var search_price = document.getElementById("search_price").value;
        var price = localStorage.getItem(search_price);
        var find_result = document.getElementById("find_result");
        find_result.innerHTML = search_price + "的价格是:" + price;
    }
    //将所有存储在localStorage中的对象提取出来,并展现到界面上
    function loadAll(){
        var list = document.getElementById("list");
        if(localStorage.length>0){
            var result = "<table>";
            result += "<tr><td>商品</td><td>价格</td><td>操作</td></tr>";
            for(var i=0;i<localStorage.length;i++){
                var price = localStorage.key(i);
                var goods = localStorage.getItem(price);
                result += "<tr><td>"+price+"</td><td>"+goods+"</td><td><button id = 'btn3' οnclick='deleteGoods(this)'>删除</button></td></tr>";
            }
            result += "</table><br/><strong><label>总价格:</label><span id='amount'></span></strong>";
            list.innerHTML = result;
        }else{
            list.innerHTML = "购物车空空如也哦……";
        }
        //每次加载商品信息同时刷新总价格
        Count();
    }
    //删除购物车商品
    function deleteGoods(item){
        var val = item.parentNode.parentNode;
        var children1 = val.children[0].innerText;
        var children2 = val.children[1].innerText;
        localStorage.removeItem(children1);
        loadAll();
    }

    //计算总价
    function Count(){
        var goodsNum = document.getElementsByTagName('tr');
        var amount = 0;
        for(var i=1; i < goodsNum.length; i++){
            //alert(parseInt(goodsNum[i].children[1].innerText));
            //amount += parseInt(goodsNum[i].children[1].innerText);
            amount += parseInt(goodsNum[i].children[1].innerText);

        }
        //alert("总价是:"+amount);
        //alert("amount.toString:"+amount.toString());

        document.getElementById('amount').innerHTML = amount;
    }

</script>
</body>
</html>

转载于:https://my.oschina.net/ChinaKingM/blog/821216

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单JavaScript程序实现简易购物车的示例: ```javascript // 初始化商品列表 const products = [ { id: 1, name: '商品1', price: 100 }, { id: 2, name: '商品2', price: 200 }, { id: 3, name: '商品3', price: 300 }, { id: 4, name: '商品4', price: 400 }, ] // 初始化购物车 let cart = [] // 添加商品到购物车 function addToCart(id) { const product = products.find(p => p.id === parseInt(id)) if (product) { cart.push(product) console.log(`已添加商品 ${product.name} 到购物车`) } else { console.log('商品不存在') } } // 从购物车中移除商品 function removeFromCart(id) { const index = cart.findIndex(p => p.id === parseInt(id)) if (index !== -1) { const product = cart.splice(index, 1)[0] console.log(`已从购物车中移除商品 ${product.name}`) } else { console.log('购物车中不存在该商品') } } // 计算购物车总价 function getTotalPrice() { return cart.reduce((total, product) => total + product.price, 0) } // 打印购物车商品列表和总价 function printCart() { console.log('购物车商品列表:') cart.forEach(product => console.log(`- ${product.name}(${product.price}元)`)) console.log(`总价:${getTotalPrice()}元`) } // 测试 addToCart(1) addToCart(2) addToCart(3) removeFromCart(2) printCart() ``` 在这个示例中,我们首先定义了一个商品列表和一个购物车数组,然后实现了三个操作函数: - `addToCart(id)`:将指定id的商品添加到购物车中; - `removeFromCart(id)`:从购物车中移除指定id的商品; - `getTotalPrice()`:计算购物车中所有商品的总价。 最后,我们调用了这些函数来测试程序的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值