• 购物车


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    #car {
    border: 2px solid #ccc;
    300px;
    min-height: 20px;
    }

    #car p {
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px dashed #cccccc;
    }

    #car button {
    margin: 0 2px;
    }

    #car input {
    50px;
    }

    .del {
    float: right;
    margin-right: 10px;
    }

    #car .dow {
    margin-left: 40px;
    }
    </style>
    </head>
    <body>
    <ul>
    <li>帽子</li>
    <li>鞋子</li>
    <li>袜子</li>
    <li>裤子</li>
    </ul>
    <h2>购物车</h2>
    <div id="car"></div>
    <button id="cl">清空购物车</button>
    </body>
    <script>
    //向购物车添加商品
    var gg = document.getElementsByTagName("li");
    for (var i = 0; i < gg.length; i++) {
    gg[i].onclick = function () {
    var f = 1; //标记初始为1,表示购物车中没有重复商品
    var gname = this.innerHTML; //获取当前点击商品的名称
    var car = document.getElementById("car");
    if (car.hasChildNodes()) { //判断购物车中是否有商品
    var carnode = car.getElementsByTagName("p");
    for (var i = 0; i < carnode.length; i++) {
    var cdname = carnode[i].children[0].innerHTML;//获取购物车中商品的名称,children属性,获取当前对象的儿子集合
    if (cdname == gname) { //判断当前商品是否在购物车中存在
    f = 0;
    carnode[i].children[2].value = parseInt(carnode[i].children[2].value) + 1; //商品数量加1
    break; //结束循环
    } else {
    f = 1; //没有重复商品,标记设为1;
    }
    }

    } else {
    f = 1; //购物车为空标记设为1
    }
    if (f) { //如果标记为1,直接添加新的商品到购物车
    var ge = document.createElement("p");
    var con = "<span id='gn'>" + gname + "</span><button class='dow'>-</button><input type='text' value='1'><button>+</button><button class='del'>删除</button>";
    ge.innerHTML = con;
    document.getElementById("car").appendChild(ge);
    }
    }
    }
    //清空购物车
    document.getElementById("cl").onclick = function () {
    document.getElementById("car").innerHTML = "";
    };
    //通过事件监听和冒泡绑定购物车商品数量的修改和删除操作
    document.getElementById("car").addEventListener("click", function (e) {
    modi(e)
    });

    function modi(o) {
    var obj = o.target;//获取当前点击的节点对象
    if (obj.nodeName == "BUTTON") {
    if (obj.innerHTML == "+") { //增加数量
    obj.previousSibling.value = parseInt(obj.previousSibling.value) + 1;
    }
    if (obj.innerHTML == "-") { //减少数量
    if (obj.nextSibling.value > 1) {
    obj.nextSibling.value = parseInt(obj.nextSibling.value) - 1;
    } else {
    var thisg = obj.parentNode;
    document.getElementById("car").removeChild(thisg);
    }
    }
    if (obj.innerHTML == "删除") { //删除当前商品
    var thisg = obj.parentNode;
    document.getElementById("car").removeChild(thisg);
    }
    }
    }
    </script>
    </html>
  • 相关阅读:
    洛谷P3811题解
    洛谷P3353在你窗外闪耀的星星-题解
    Map根据value来排序
    java8 groupby count
    Java反射
    maven profile环境切换
    获取nginx代理情况下的真实ip
    获取request里header的name和value
    git 删除iml文件
    java list 排序
  • 原文地址:https://www.cnblogs.com/bingjiebeibei/p/9355597.html
Copyright © 2020-2023  润新知