js实现购物车

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>完善当当购物车页面</title>
    <link type="text/css" rel="stylesheet" href="css/cartStyle.css" />
</head>
<script>
    function close_plan(){
        window.close();
    }
    function  collection(){
        confirm("移入收藏,后将不再显示在购物车里面,是否继续操作?")

    }
    /*这里获取了plus加号事件*/
    function plus(a){
        /* 就像java里面的有参构造一样进行判断是哪个再调用onclick事件*/
        if(a==1){
            /*获取需要购买的数量用num接收 */
            var num=text7.value;
            /*将num转换成整形调用这个事件数量就会加1然后再把值赋值给自己*/
            num=parseInt(num)+1;
            /* 再将触发后的值赋值给数量这样就实现了数量的增加*/
            text7.value=num;
            /* 获取这本书的价格*/
            var price=price0.value;
            /* 这个是这类型书本的总价格获取方式要innerHTML因为是双标签
            * 在将数量转换成整形去乘以书本的整形价格
            * toFixed(2)是保留小数点如果不保留的话会到在计算的过程中会出现bug
            * */
            price2.innerHTML=(parseFloat(num)*parseFloat(price)).toFixed(2);
    }
        if(a==2){
            var num=text8.value;
            num=parseInt(num)+1;
            text8.value=num;
            var price=price3.value;
            price1.innerHTML=(parseFloat(num)*parseFloat(price)).toFixed(2);
        }
    }
    function minus(a){
        if(a==1){
            /*获取需要购买的数量用num接收 */
            var nam=text7.value;
            /* 因为这个是减数量所以我们要判断数量到0的时候就不能减了*/
            if (nam>0){
                num=parseInt(nam)-1;
                text7.value=num;
            } else {
                alert("数量不能低于0");
            }
            var price=price0.value;
            price2.innerHTML=(parseFloat(num)*parseFloat(price)).toFixed(2);
        }
        if(a==2){
            var num=text8.value;
            if (num>0){
                num=parseInt(num)-1;
                text8.value=num;
            }else {
                alert("数量不能低于0");
            }
            var price=price3.value;
            price1.innerHTML=(parseFloat(num)*parseFloat(price)).toFixed(2);
        }
    }
    function accounts(){
           var nam=text7.value;
           var nam1=text8.value;
           var nam2=parseFloat(price1.innerHTML)+parseFloat(price2.innerHTML);
         if(parseInt(nam)>0 && parseInt(nam1)>0){
             confirm(
                     "您本次购买的商品如下:\n \n商品名称:白岩松白说"+nam+"本岛上书店"+nam1+"本\n" +
                     "商品数量:"+(parseInt(nam)+parseInt(nam1))+"本\n商品总计:"+nam2.toFixed(2)+
                     "\n运费:0元 \n\n确定以上信息是否有误!!!"
             )
         }
    }
</script>
<body>
<div class="content">
    <div class="logo">
        <img src="images/dd_logo.jpg"><span onclick="close_plan();" >关闭</span>
    </div>
    <div class="cartList">
        <ul>
            <li>¥<input type="text" name="price" id="price0" value="21.90"></li>
            <li><input type="button" name="minus" value="-" onclick="minus(1);"><input type="text" name="amount" id="text7" value="0" readonly><input type="button" name="plus" value="+" onclick="plus(1);"></li>
            <li id="price2">¥21.90</li>
            <li><p  onclick="collection();">移入收藏</p><p onclick="del();">删除</p></li>
        </ul>
        <ul>
            <li>¥<input type="text" name="price"  id="price3" value="24.00"></li>
            <li><input type="button" name="minus" value="-" onclick="minus(2);"><input type="text" name="amount"  id="text8" value="0" readonly><input type="button" name="plus" value="+" onclick="plus(2);"></li>
            <li id="price1">¥24.00</li>
            <li><p  onclick="collection();">移入收藏</p><p onclick="del();">删除</p></li>
        </ul>
        <ol>
            <li id="totalPrice">&nbsp;</li>
            <li><span onclick="accounts();">结 算</span></li>
        </ol>
    </div>
</div>
<script type="text/javascript" src="js/shopping.js"></script>
</body>
</html>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的用 JavaScript 实现购物车功能的示例代码: HTML: ```html <div id="item-list"> <h3>商品列表</h3> <ul> <li data-id="1" data-name="商品1" data-price="10">商品1 - 10元</li> <li data-id="2" data-name="商品2" data-price="20">商品2 - 20元</li> <li data-id="3" data-name="商品3" data-price="30">商品3 - 30元</li> </ul> </div> <div id="cart"> <h3>购物车</h3> <ul id="cart-items"></ul> <p id="total-price">总价:0元</p> </div> ``` JavaScript: ```javascript // 获取商品列表和购物车元素 const itemList = document.getElementById('item-list'); const cart = document.getElementById('cart'); const cartItems = document.getElementById('cart-items'); const totalPrice = document.getElementById('total-price'); // 初始化购物车数据 let cartData = []; // 监听商品列表的点击事件 itemList.addEventListener('click', e => { // 获取点击的商品元素 const item = e.target.closest('li'); if (!item) return; // 获取商品的 id、名称和价格 const id = item.dataset.id; const name = item.dataset.name; const price = +item.dataset.price; // 查找购物车中是否已经存在该商品 const cartItem = cartData.find(item => item.id === id); if (cartItem) { // 如果购物车中已经存在该商品,则增加数量 cartItem.quantity++; cartItem.price += price; cartItems.querySelector(`li[data-id="${id}"]`).textContent = `${name} x ${cartItem.quantity} - ${cartItem.price}元`; } else { // 如果购物车中不存在该商品,则添加到购物车 const newCartItem = { id, name, price, quantity: 1, }; cartData.push(newCartItem); const newCartItemElement = document.createElement('li'); newCartItemElement.dataset.id = id; newCartItemElement.textContent = `${name} x 1 - ${price}元`; cartItems.appendChild(newCartItemElement); } // 更新总价 const cartTotalPrice = cartData.reduce((total, item) => total + item.price, 0); totalPrice.textContent = `总价:${cartTotalPrice}元`; }); ``` 以上代码实现一个简单购物车功能,用户可以点击商品列表中的商品添加到购物车中,购物车中显示添加的商品名称、数量和价格,总价也会实时更新。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值