美文网首页
无标题文章

无标题文章

作者: UL_葡萄丸子少女 | 来源:发表于2017-11-03 10:59 被阅读6次

    .product {

    width:300px;

    height:300px;

    border:1px solid #ccc;

    border-radius: 5px;

    line-height: 30px;

    margin:10px;

    float:left;

    padding:10px;

    }

    .product .add_to_cart {

    width:200px;

    cursor: pointer;

    border:1px solid #666;

    border-radius: 3px;

    text-align: center;

    }

    .cart .title div, .cart .row div {

    width:150px;

    height:30px;

    line-height: 30px;

    float: left;

    border: 1px solid;

    overflow: hidden;

    }

    .cart, .cart .title, .cart .row, .cart .cart_body {

    clear:both;

    }

    .cart_body .row .minus,.cart_body .row .add {

    width:20px;

    height: 25px;

    border: 1px solid;

    display:inline-block;

    text-align: center;

    cursor: pointer;

    }

    商品列表页面

    列表:

    百草味 坚果零食干果 内含开果器 夏威夷果奶油味200g/袋

    14.90

    加入购物车

    意大利进口 Balocco 百乐可 脆皮酥 焦糖味 200g

    25.89

    加入购物车

    小米(MI)智能手环1代【光感心率版】小米手环 黑色腕带 LED指示灯

    75.99

    加入购物车

    金士顿(Kingston)16GB 80MB/s TF(Micro SD)Class10 UHS-I高速存储卡

    55.00

    加入购物车

    查看购物车//利用的是事件委派。利用祖先元素

    $(".box")[0].onclick = function(e){

    e = e || event;

    var src = e.target || e.srcElement;

    if (src.className === "add_to_cart") { // 加入购物车

    // 获取"加入购物车"所在大盒子中所有的孩子元素节点

    var child = src.parentNode.children;

    // 创建当前选购商品的对象

    var prod = {

    id : child[3].value,

    title : child[1].innerHTML,

    img : child[0].firstElementChild.src,

    price : child[2].innerHTML,

    amount : 1

    };

    // 查看cookie中是否有已保存的购物车数组结构

    // 如果有,说明已经选购过一些商品了,没有,创建新数组结构来保存购物车

    var _products = cookie("products");

    if (_products) // 已有

    _products = JSON.parse(_products);//cookie中保存的是文本字符串,所以获取的到的是字符串,但是你需要去后续存储,就需要将其转化成js中能用的

    else

    _products = [];

    //再看你添加的商品是否已经在数组里面存在,不存在就需要去添加,存在则需要修改数量即可

    var index = exist(prod.id, _products);

    if (index != -1) { // 存在,改数量

    _products[index].amount++;

    } else { // 不存在

    // 将当前选购商品添加到数组中

    _products.push(prod);

    }

    // 将购物车数组保存到 cookie 中

    cookie("products", JSON.stringify(_products), {expires:7});

    }

    }

    // 指定id的商品在所有已选购的数组中是否存在

    // 存在则返回其在数组中的下标,不存在返回-1

    function exist(id, products) {

    for (var i = 0; i < products.length; i++) {

    if (products[i].id == id)

    return i;

    }

    return -1;

    }

    相关文章

      网友评论

          本文标题:无标题文章

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