jQuery实现仿淘宝购物车的栏目【计算总价、选购数量、指定删除】

功能比较齐全,欢迎讨论!页面展示:

 

具体代码(倘若想要整个图片集的话可以私聊我):

​​<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>淘宝购物车页面</title>
    <link href="css/myCart.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
    <script type="text/javascript" src="js/shopCart1.js"></script>
	<script type="text/javascript">
		
		
		$(document).ready(function(){
			
			//点击复选框全选或全不选效果
			
			//当我们点击全选的时候就直接全选所有的复选框
			$("#allCheckBox").click(function(){
				//我们需要用一个标签来记录我们全选的状态
				var state = $(this).is(":checked");
				//把我们全选框的状态赋值给所有的复选框
				$("[name=cartCheckBox]").prop("checked",state);
				calculate();
			});
			
			//当我们所有的复选框都选上之后,就把全选框变为已选择
			$(".cart_td_1").children().click(function(){
				//获取所有复选框的总数
				var total = $("[name=cartCheckBox]").size();
				var current_check = 0;
				//遍历判断我们选中的所有复选框的个数
				$("[name=cartCheckBox]").each(function(i,e){
					//判断我们所有的复选框选中的个数
					if($(e).is(":checked") == true){
						current_check++;
					}
					//重复调用累积价格总和的方法
					calculate();
				});
				
				if(current_check == total){
					$("#allCheckBox").prop("checked",true);
					calculate();
				}else{
					$("#allCheckBox").prop("checked",false);
				}
			});
			
			//点击删除
			$(".cart_td_8").children().click(function(){
				//删除掉前面的店家信息
				$(this).parent("td").parent("tr").prev("tr").remove();
				//删除掉删除超链接所在的tr
				$(this).parent("td").parent("tr").remove();
				calculate();
			});
			
			//删除所选
			$("#deleteAll").click(function(){
				//判断选中的所有复选框进行删除
				$("[name=cartCheckBox]").each(function(i,e){
					if($(e).is(":checked") == true){
						//删除掉前面的店家信息
						$(this).parent("td").parent("tr").prev("tr").remove();
						//删除掉删除超链接所在的tr
						$(this).parent("td").parent("tr").remove();
						calculate();
					}
				});
			});
			
			//选择-号
			$(".hand[alt=minus]").click(function(){
				//获取num_input这个文本框里面的value值
				//一定要注意,我们这里定的是减号,取的是减号后面的值
				var number = $(this).next(".num_input").val();
				//点击一次就自减一次
				number--;
				if(number <= 0){
					alert("最少不能为0");
				}else{
					//这里一定要记得使用val,因为它是value值
					$(this).next(".num_input").val(number);
					calculate();
				}
			});
			
			//选择+号
			$(".hand[alt=add]").click(function(){
				//获取num_input这个文本框里面的value值
				//一定要注意,我们这里定的是减号,取的是减号后面的值
				var number = $(this).prev(".num_input").val();
				//点击一次就自减一次
				number++;
				if(number <= 0){
					alert("最少不能为0");
				}else{
					//这里一定要记得使用val,因为它是value值
					$(this).prev(".num_input").val(number);
					calculate();
				}
			});
			
			//计算总价与小计
			function calculate(){
				//总价
				var total_price = 0;
				
				$("tr[id]").each(function(i,e){
					//单价
					var price;
					//数量
					var number;
					
					price = parseFloat($(this).children(".cart_td_5").text());
					number = parseInt($(this).find(".num_input").val());
					//这里只是计算单价,总价需要选择后才能计算
					$(this).children(".cart_td_7").text(number*price);	
					
					//总价的话我们需要判断选中的才进行计算
					if($(this).children(".cart_td_1").children().is(":checked") == true){
						total_price = total_price + (number*price);
					}
				});		
				
				$("#total").text(total_price);
				
			}
			
			//加载时调用
			calculate();
			
		});
			
	</script>
</head>
<body>
<div id="header"><img src="images/taobao_logo.gif" alt="logo" /></div>
<div id="nav">您的位置:<a href="#">首页</a> &gt; <a href="#">我的淘宝</a> &gt; 我的购物车</div>
<div id="navlist">
    <ul>
        <li class="navlist_red_left"></li>
        <li class="navlist_red">1. 查看购物车</li>
        <li class="navlist_red_arrow"></li>
        <li class="navlist_gray">2. 确认订单信息</li>
        <li class="navlist_gray_arrow"></li>
        <li class="navlist_gray">3. 付款到支付宝</li>
        <li class="navlist_gray_arrow"></li>
        <li class="navlist_gray">4. 确认收货</li>
        <li class="navlist_gray_arrow"></li>
        <li class="navlist_gray">5. 评价</li>
        <li class="navlist_gray_right"></li>
    </ul>
</div>

<div id="content">
	<form action="" method="post" name="myform">
    	<table width="100%" border="0" cellspacing="0" cellpadding="0" id="shopping">        
            <tr>
                <td class="title_1"><input id="allCheckBox" type="checkbox" value=""/>全选</td>
                <td class="title_2" colspan="2">店铺宝贝</td>
                <td class="title_3">获积分</td>
                <td class="title_4">单价(元)</td>
                <td class="title_5">数量</td>
                <td class="title_6">小计(元)</td>
                <td class="title_7">操作</td>
            </tr>
            <tr>
                <td colspan="8" class="line"></td>
            </tr>
            <tr>
                <td colspan="8" class="shopInfo">店铺:<a href="#">纤巧百媚时尚鞋坊</a>    卖家:<a href="#">纤巧百媚</a> <img src="images/taobao_relation.jpg" alt="relation" /></td>
            </tr>
            <tr id="product1">
                <td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product1"/></td>
                <td class="cart_td_2"><img src="images/taobao_cart_01.jpg" alt="shopping"/></td>
                <td class="cart_td_3"><a href="#">日韩流行风时尚美眉最爱独特米字拼图金属坡跟公主靴子黑色</a><br />
                    颜色:棕色 尺码:37<br />
                    保障:<img src="images/taobao_icon_01.jpg" alt="icon" /></td>
                <td class="cart_td_4">5</td>
                <td class="cart_td_5">138.00</td>
                <td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_1" type="text"  value="1" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
                <td class="cart_td_7"></td>
                <td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
            </tr>

            <tr>
                <td colspan="8" class="shopInfo">店铺:<a href="#">香港我的美丽日记</a>    卖家:<a href="#">lokemick2009</a> <img src="images/taobao_relation.jpg" alt="relation" /></td>
            </tr>
            <tr id="product2">
                <td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product2" /></td>
                <td class="cart_td_2"><img src="images/taobao_cart_02.jpg" alt="shopping"/></td>
                <td class="cart_td_3"><a href="#">chanel/香奈尔/香奈尔炫亮魅力唇膏3.5g</a><br />
                    保障:<img src="images/taobao_icon_01.jpg" alt="icon" /> <img src="images/taobao_icon_02.jpg" alt="icon" /></td>
                <td class="cart_td_4">12</td>
                <td class="cart_td_5">265.00</td>
                <td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_2" type="text"  value="1" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
                <td class="cart_td_7"></td>
                <td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
            </tr>

            <tr>
                <td colspan="8" class="shopInfo">店铺:<a href="#">实体经营</a>    卖家:<a href="#">林颜店铺</a> <img src="images/taobao_relation.jpg" alt="relation" /></td>
            </tr>
            <tr id="product3">
                <td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product3"/></td>
                <td class="cart_td_2"><img src="images/taobao_cart_03.jpg" alt="shopping"/></td>
                <td class="cart_td_3"><a href="#">蝶妆海?蓝清滢粉底液10#(象牙白)</a><br />
                    保障:<img src="images/taobao_icon_01.jpg" alt="icon" /> <img src="images/taobao_icon_02.jpg" alt="icon" /></td>
                <td class="cart_td_4">3</td>
                <td class="cart_td_5">85.00</td>
                <td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_3" type="text"  value="1" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
                <td class="cart_td_7"></td>
                <td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
            </tr>

            <tr>
                <td colspan="8" class="shopInfo">店铺:<a href="#">红豆豆的小屋</a>    卖家:<a href="#">taobao豆豆</a> <img src="images/taobao_relation.jpg" alt="relation" /></td>
            </tr>
            <tr id="product4">
                <td class="cart_td_1"><input name="cartCheckBox" type="checkbox" value="product4"/></td>
                <td class="cart_td_2"><img src="images/taobao_cart_04.jpg" alt="shopping"/></td>
                <td class="cart_td_3"><a href="#">相宜促销专供 大S推荐 最好用的LilyBell化妆棉</a><br />
                    保障:<img src="images/taobao_icon_01.jpg" alt="icon" /></td>
                <td class="cart_td_4">12</td>
                <td class="cart_td_5">12.00</td>
                <td class="cart_td_6"><img src="images/taobao_minus.jpg" alt="minus" class="hand"/> <input id="num_4" type="text"  value="2" class="num_input" readonly="readonly"/> <img src="images/taobao_adding.jpg" alt="add" class="hand"/></td>
                <td class="cart_td_7"></td>
                <td class="cart_td_8"><a href="javascript:void(0);">删除</a></td>
            </tr>

            <tr>
                <td  colspan="3"><a id="deleteAll" href="javascript:void(0);"><img src="images/taobao_del.jpg" alt="delete"/></a></td>
                <td colspan="5" class="shopend">商品总价(不含运费):<label id="total" class="yellow"></label> 元<br />
                    可获积分 <label class="yellow" id="integral"></label> 点<br />
                    <input name=" " type="image" src="images/taobao_subtn.jpg" /></td>
            </tr>        
    	</table>
    </form>

</div>
</body>
</html>

 

在HTML中调用的两个CSS样式代码:

/*  myCart.css  */

@charset "gb2312";
/* CSS Document */

body{
	margin:0px;
	padding:0px;
	font-size:12px;
	line-height:20px;
	color:#333;
   }
ul,li,ol,h1,dl,dd{
	list-style:none;
	margin:0px;
	padding:0px;
	}
a{
	color:#1965b3;
    text-decoration: none;
	}    
a:hover{
	color:#CD590C;
	text-decoration:underline;
	}
img{
	border:0px;
	vertical-align:middle;
	}
#header{
	height:40px;
	margin:10px auto 10px auto;
	width:800px;
	clear:both;
	}
#nav{
	margin:10px auto 10px auto;
	width:800px;
	clear:both;
	}
#navlist{
	width:800px;
	margin:0px auto 0px auto;
	height:23px;
	}
	#navlist li{
		float:left;
		height:23px;
		line-height:26px;
	}
	.navlist_red_left{
		background-image:url(../images/taobao_bg.png);
		background-repeat:no-repeat;
		background-position:-12px -92px;
		width:3px;
		}
	.navlist_red{
		background-color:#ff6600;
		text-align:center;
		font-size:14px;
		font-weight:bold;
		color:#FFF;
		width:130px;
		}
	.navlist_red_arrow{
		background-color:#ff6600;
		background-image:url(../images/taobao_bg.png);
		background-repeat:no-repeat;
		background-position:0px 0px;
		width:13px;
		}
	.navlist_gray{
		background-color:#e4e4e4;
		text-align:center;
		font-size:14px;
		font-weight:bold;
		width:150px;
		}
	.navlist_gray_arrow{
		background-color:#e4e4e4;
		background-image:url(../images/taobao_bg.png);
		background-repeat:no-repeat;
		background-position:0px 0px;
		width:13px;
		}
	.navlist_gray_right{
		background-image:url(../images/taobao_bg.png);
		background-repeat:no-repeat;
		background-position:-12px -138px;
		width:3px;
		}
#content{
	width:800px;
	margin:10px auto 5px auto;
	clear:both;
	}
	.title_1{
		text-align:center;
		width:50px;
		}
	.title_2{
		text-align:center;
		}
	.title_3{
		text-align:center;
		width:80px;
		}
	.title_4{
		text-align:center;
		width:80px;
		}
	.title_5{
		text-align:center;
		width:100px;
		}
	.title_6{
		text-align:center;
		width:80px;
		}
	.title_7{
		text-align:center;
		width:60px;
		}
	.line{
		background-color:#a7cbff;
		height:3px;
		}
	.shopInfo{
		padding-left:10px;
		height:35px;
		vertical-align:bottom;
		}
	.num_input{
		border:solid 1px #666;
		width:25px;
		height:15px;
		text-align:center;
		}
	.cart_td_1,.cart_td_2,.cart_td_3,.cart_td_4,.cart_td_5,.cart_td_6,.cart_td_7,.cart_td_8{
		background-color:#e2f2ff;
		border-bottom:solid 1px #d1ecff;
		border-top:solid 1px #d1ecff;
		text-align:center;
		padding:5px;
		}
	.cart_td_1,.cart_td_3,.cart_td_4,.cart_td_5,.cart_td_6,.cart_td_7{
		border-right:solid 1px #FFF;
		}
	.cart_td_3{
		text-align:left;
		}
	.cart_td_4{
		font-weight:bold;
		}
	.cart_td_7{
		font-weight:bold;
		color:#fe6400;
		font-size:14px;
		}
	.hand{
		cursor:pointer;
		}
.shopend{
	text-align:right;
	padding-right:10px;
	padding-bottom:10px;
	}
.yellow{
	font-weight:bold;
	color:#fe6400;
	font-size:18px;
	line-height:40px;
	}


------------------------------------------------------------------------

/* register.css */

@charset "gb2312";
/* CSS Document */

body,dl,dt,dd,div,form {padding:0;margin:0;}

#header,#main{
	width:650px;
	margin:0 auto;
	}
.bg{
	background-image:url(../images/register_bg.gif);
	background-repeat:no-repeat;
	width:6px;
	height:6px;
	}
	.bg_top_left{
		background-position:0px 0px;
		}
	.bg_top_right{
		background-position:0px -6px;
		}
	.bg_end_left{
		background-position:0px -12px;
		}
	.bg_end_right{
		background-position:0px -18px;
		}
	.bg_top{
		border-top:solid 1px #666666;
		}
	.bg_end{
		border-bottom:solid 1px #666666;
		}
	.bg_left{
		border-left:solid 1px #666666;
		}
	.bg_right{
		border-right:solid 1px #666666;
		}


.content{
	padding:10px;
	}
	.inputs{
		border:solid 1px #a4c8e0;
		width:150px;
		height:15px;
	}
	
	.userWidth{
		width:110px;
		}
	.content div{
		float:left;
		font-size:12px;
		color:#000;
		}
	dl{
		clear:both;
		}
	dt,dd{
		float:left;
		}
	dt{
		width:130px;
		text-align:right;
		font-size:14px;
		height:30px;
		line-height:25px;
		}
	dd{
		font-size:12px;
		color:#666666;
		width:180px;
		}
/*当鼠标放到文本框时,提示文本的样式*/
.import_prompt{
	border:solid 1px #ffcd00;
	background-color:#ffffda;
	padding-left:5px;
	padding-right:5px;
	line-height:20px;
	}
/*当文本框内容不符合要求时,提示文本的样式*/
.error_prompt{
	border:solid 1px #ff3300;
	background-color:#fff2e5;
	background-image:url(../images/li_err.gif);
	background-repeat:no-repeat;
	background-position:5px 2px;
	padding:2px 5px 0px 25px;
	line-height:20px;
	}
/*当文本框内容输入正确时,提示文本的样式*/
.ok_prompt{
	border:solid 1px #01be00;
	background-color:#e6fee4;
	background-image:url(../images/li_ok.gif);
	background-repeat:no-repeat;
	background-position:5px 2px;
	padding:2px 5px 0px 25px;
	line-height:20px;
	}

 

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值