返回(仿)小米商城......登陆

(仿)小米商城购物车

小弟,抱着学习的心态,前来观摩2019-03-04 11:32:33708

HTML

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>购物车--小米商城</title>
	<link rel="shortcut icon" type="image/x-icon" href="static/images/footlogo.png">
	<link rel="stylesheet" type="text/css" href="static/css/cart.css">
	<link rel="stylesheet" type="text/css" href="static/font-awesome/css/font-awesome.min.css">
	<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
	<script src="static/js/cart.js"></script>
</head>
<body>
	<!-- 购物车头部 -->
	<div class="header1">
		<div class="content">
			<div class="content-left">
				<a class="logo" href=""></a>
				<h1 class="title">我的购物车</h1>
				<h6 class="notice">温馨提示: 产品是否购买成功, 以最终下单为准哦, 请尽快结算</h6>
			</div>
			<div class="content-right">
				<div class="userinfo">
					<div class="username">
						<a href="javascript:void(0)" class="toUserInfo">我是, 某人</a>
						<ul>
							<li class="iteminfo">个人中心</li>
							<li class="iteminfo">评价晒单</li>
							<li class="iteminfo">我的喜欢</li>
							<li class="iteminfo">小米账户</li>
							<li class="iteminfo">退出登录</li>
						</ul>
					</div>
					<i class="fa fa-angle-down fa-1x"></i>
				</div>
				<div class="myorder"><a href="order.html">我的订单</a></div>
			</div>
		</div>
	</div>

	<!-- 购物车商品内容 -->
	<div class="trunk">
		<!-- 购物车商品 -->
		<div class="cart">
			<div class="list list-title">
				<div class="select select-add"><i class="fa fa-check" id="check-all"></i>全选</div>
				<div class="good-img"></div>
				<div class="good-name" style="font-size: 14px;">商品名称</div>
				<div class="good-price">单价</div>
				<div class="good-num">数量</div>
				<div class="good-total-price" style="color: #424242;">小计</div>
				<div class="operation">操作</div>
			</div>

			<div class="list list-item">
                <div class="select"><i class="fa fa-check"></i></div>
                <div class="good-img"><img src="static/images/h/1.png" alt=""></div>
                <div class="good-name"> 小米MIX 2S 全网通版 6GB内存 陶瓷标准版 64GB 白色 64GB </div>
                <div class="good-price">3199元</div>
                <div class="good-num">
                    <div class="num-input">
                        <button class="minus">-</button>
                        <input type="text" value="1" class="num-value">
                        <button class="plus">+</button>
                    </div>
                </div>
                <div class="good-total-price">3199元</div>
                <div class="operation"><i class="fa fa-times"></i></div>
            </div>

            <div class="list list-item">
                <div class="select"><i class="fa fa-check"></i></div>
                <div class="good-img"><img src="static/images/h/2.png" alt=""></div>
                <div class="good-name"> 小米MIX 2S 全网通版 6GB内存 陶瓷标准版 64GB 白色 64GB </div>
                <div class="good-price">2199元</div>
                <div class="good-num">
                    <div class="num-input">
                        <button class="minus">-</button>
                        <input type="text" value="1" class="num-value">
                        <button class="plus">+</button>
                    </div>
                </div>
                <div class="good-total-price">2199元</div>
                <div class="operation"><i class="fa fa-times"></i></div>
            </div>

            <div class="list list-item">
                <div class="select"><i class="fa fa-check"></i></div>
                <div class="good-img"><img src="static/images/h/3.png" alt=""></div>
                <div class="good-name"> 小米MIX 2S 全网通版 6GB内存 陶瓷标准版 64GB 白色 64GB </div>
                <div class="good-price">1199元</div>
                <div class="good-num">
                    <div class="num-input">
                        <button class="minus">-</button>
                        <input type="text" value="1" class="num-value">
                        <button class="plus">+</button>
                    </div>
                </div>
                <div class="good-total-price">1199元</div>
                <div class="operation"><i class="fa fa-times"></i></div>
            </div>

            <div class="list list-total">
                <div class="list-total-left">
                    <span class="notice"><a href="">继续购物</a></span>
                    <span class="statistics">共 <span class="all-count">0</span> 件商品,已选择 <span class="select-count">0</span> 件</span>
                </div>
                <div class="list-total-right">
                    <div class="total-price">合计: <span class="sum-price">0</span> 元</div>
                    <a href=""><button class="submit-cart">去结算</button></a>
                </div>
            </div>
		</div>
	</div>

	<!-- 底部 -->
    
</body>
</html>

CSS

*{margin: 0;padding: 0;}
li{list-style: none;}
a{text-decoration: none;}
.clear{clear: both;}

.header1, .trunk{width: 100%;}
.header1{height: 100px;border-bottom: 2px solid #ff6700;}
.trunk{background-color: #f5f5f5;overflow: hidden;}
.header1>.content, .trunk>.cart, .trunk>.recommend{width: 1226px;margin: 0 auto;}
.cart{padding-top: 38px;}
.header1 .content-left{float: left;}
.header1 .content-right{float: right;}
.header1 .logo, 
.header1 .title, 
.header1 .notice, 
.header1 .userinfo, 
.header1 .myorder{float: left;margin-top: 26px;}
.header1 .logo{width: 48px;height: 48px;margin-right: 45px;
    background: url('../images/footlogo.png') center center;}
.header1 .title{font-size: 28px;line-height: 48px;margin-right: 15px;font-weight: 400;color: #424242;}
.header1 .notice{font-size: 12px;line-height: 48px;margin-top: 32px;font-weight: 400;color: #757575;}
.header1 .userinfo{width: 120px;line-height: 48px;margin-top: 28px;font-size: 12px;color: #757575;position: relative;}
.header1 .myorder{line-height: 48px;margin-top: 28px;font-size: 12px;color: #757575;}
.userinfo .username a,
.header1 .myorder a{color: #757575;}
.userinfo .username ul{position: absolute;width: 120px;padding: 7px 0;display: none;
    background-color: #fff;margin-left: -10px;text-align: center;box-shadow: 0 2px 10px rgba(0,0,0,0.15); }
.userinfo .username li{width: 100%;height: 30px;color: #757575;line-height: 30px;}
.userinfo:hover ul{display: block;}
.userinfo .username li:hover{color: #ff6700;background-color: #f5f5f5; cursor: pointer;}
.userinfo i{position: absolute;top: 20px;right: 20px;}
.userinfo:hover a,.userinfo:hover i{color: #ff6700;}
.cart> .list{background-color: #fff;overflow: hidden;}
.list div{float: left;}
.cart .select{width: 110px;text-align: center;}
.cart .select i{font-size: 13px;display: inline-block;height: 15px;width: 15px;
    line-height: 15px;background-color: #fff;color: rgba(0,0,0,0);border: 1px solid #e0e0e0; 
    margin: 0 15px 0 24px;cursor: pointer;}
.cart .select .checked{color: #fff;background: #ff6700;border: 1px solid #ff6700;}
.cart .good-img{width: 120px;cursor: pointer;}
.cart .good-img img{width: 60px;height: 60px;margin-top: 15px;}
.cart .good-name{width: 380px;text-overflow: ellipsis;}
.cart .good-price{width: 75px;padding-right: 84px;text-align: right;}
.cart .good-num{width: 150px;text-align: center;}
.good-num .num-input{padding: 0;margin-top: 24px;width: 150px;height: 40px;border: 1px solid #e0e0e0;}
.num-input button{width: 36px;height: 40px;text-align: center;line-height: 38px;color: #757575;
    background: #fff;font-size: 20px;border: 0;}
.num-input button:hover{background: #e0e0e0;}
.num-input .minus{float: left;}
.num-input .plus{float: right;}
.num-input .num-value{float: left;width: 78px;height: 40px;text-align: center;font-size: 16px;border: 0;}
.cart .good-total-price{width: 120px;padding-right: 81px;text-align: right;color: #ff6a00;}
.cart .operation{width: 80px;padding-right: 26px;text-align: center;}
.cart .operation i{display: inline-block;width: 20px;height: 20px;border-radius: 10px;color: #757575;line-height: 20px;font-size: 12px;}
.cart .operation i:hover{background: #f07474;color: #fff;cursor: pointer;}
.list-title div{height: 70px;line-height: 70px;font-size: 14px;}
.list-item div{height: 86px;padding: 15px 0;line-height: 86px;border-top: 1px solid #e0e0e0;}
.list-total{margin: 20px 0px;height: 50px;line-height: 50px;font-size: 14px;}
.list-total .list-total-left{float: left;}
.list-total .list-total-right{float: right;}
.list-total-left .notice{margin-left: 32px;font-size: 12px;background: #fff;color: #424242;}
.list-total-left .notice a{color: #424242;font-size: 14px;}
.list-total-left .statistics{margin-left: 16px; padding-left: 16px;font-size: 12px;border-left: 1px solid #eee;color: #424242;}
.statistics span{color: #ff6a00;}
.list-total-right .total-price{float: left;font-size: 14px;color: #ff6700;}
.list-total-right .total-price .sum-price{font-size: 24px;}
.list-total-right .submit-cart{float: right;height: 50px;width: 200px;background: #ff6700;
    color: #fff;font-size: 18px;margin-left: 60px;}

jQuery

$(function(){
	// 初始化
	doPrice();

	// 鼠标以上全选框变色效果
	$('.fa-check').mouseover(function(){
		if($(this).attr('class') != 'fa fa-check checked'){
			$(this).css('color','#ff6700');
		}
	});
	$('.fa-check').mouseleave(function(){
		$(this).css('color','#fff');
	});

	// 普通选中
	$('.fa-check').click(function(){
		var cla = $(this).attr('class');
		if(cla != 'fa fa-check checked'){
			$(this).attr('class','fa fa-check checked');
		}else{
			$(this).attr('class','fa fa-check');
		}
		doCheckAll();
		doPrice();
	});

	// 全部选中
	$('#check-all').click(function(){
		var cla = $(this).attr('class');
		if(cla != 'fa fa-check checked'){
			$('.fa-check').attr('class','fa fa-check checked');
		}else{
			$('.fa-check').attr('class','fa fa-check');
		}

		doPrice();
	});
	// 检查是否全选
	function doCheckAll(){
		var allitem = $('.list-item i[class*="fa-check"]').length;
		var checkeditem = $('.list-item i[class$="checked"]').length;
		if(allitem != checkeditem){
			$('#check-all').attr('class','fa fa-check');
		}else{
			$('#check-all').attr('class','fa fa-check checked');
		}
	}

	// 加+按钮
	$('.plus').click(function(){
		var nowvalue = $(this).siblings('input').val();
		var nowvalue = parseInt(nowvalue);
		var currentvalue = nowvalue + 1;
		$(this).siblings('input').val(currentvalue);

		var price = parseFloat($(this).parents('.good-num').siblings('.good-price').html());
		var total = price * currentvalue;
		$(this).parents('.good-num').siblings('.good-total-price').html(total+'元');

		doPrice()
	});
	// 减-按钮
	$('.minus').click(function(){
		var nowvalue = $(this).siblings('input').val();
		var nowvalue = parseInt(nowvalue);
		var currentvalue = 0;
		nowvalue<=1 ? currentvalue=1 : currentvalue=nowvalue-1; 
		$(this).siblings('input').val(currentvalue);

		var price = parseFloat($(this).parents('.good-num').siblings('.good-price').html());
		var total = price * currentvalue;
		$(this).parents('.good-num').siblings('.good-total-price').html(total+'元');

		doPrice()
	});


	// 统计所有勾选框的值
	function doPrice(){
		//选中小计价格
		var checkeditems = $('.list-item i[class$="checked"]').parents('.select').siblings('.good-total-price'); 
		console.log(checkeditems[0])
		var totalprice = 0; // 存储总价
		for(var i=0;i<checkeditems.length;i++){
			totalprice += parseFloat(checkeditems[i].innerHTML);
		}
		$('.sum-price').html(totalprice);

		// 选中多少件
		$('.select-count').html(checkeditems.length);

		// 总商品数量
		var items = $('.list-item i[class*="fa-check"]');
		$('.all-count').html(items.length);
	}

	// 删除商品
	$('.operation').click(function(){
		$(this).parents('.list-item').remove();
	});
});

QQ截图20190304113155.jpg

最新手记推荐

• 用composer安装thinkphp框架的步骤• 省市区接口说明• 用thinkphp,后台新增栏目• 管理员添加编辑删除• 管理员添加编辑删除

全部回复(0)我要回复

暂无评论~
  • 取消回复发送