仿京东购物车--js,css混合应用

这学期会用到RN 开发,顺便复习一下上学期的京东购物车

仿京东购物车--js,css混合应用_第1张图片

未购买物品

仿京东购物车--js,css混合应用_第2张图片

动态js添加购物车,结算选中商品,包括猜你喜欢和随手购两个物品菜单栏。

导航栏中的矢量图是从阿里上下载的,右侧固定菜单用绝对定位做了一个。

主要说几个点其他的在最后会把源码发上来,首先是比较核心的代码块

仿京东购物车--js,css混合应用_第3张图片

每次添加商品不管是拖拽还是直接点击按钮,js函数中其实就是单纯写了一个div然后把它作为参数赋值给了一个变量,然后在html页面的某一处div的id后面加上这个变量,也就是这里面的最后一句。

$("#test1").append(content);其中第一个括号的test1就是html中的一个div的id,在它后面添加content这个变量,点击商品,隐藏原来背景图,添加新的div。

值得注意的是这里用的goodsId是html页面的传参,由于它已经是参数了,要把它从这个双引号中取出来,用到了字符连接符,假如用这个写的话一定要细心,注意什么时候用单引号,什么时候用双引号。

仿京东购物车--js,css混合应用_第4张图片 仿京东购物车--js,css混合应用_第5张图片

图中蓝线的那句话是在添加前先做个判定,如果我的购物车里没有这个商品我再放入新的div,如果有,则直接调用增加商品数量的函数

var list=$("#test1").find("#cart_item"+goodsId);

这句代码也是当时网上查到的,可以用来判断此时页面中是否有此id,如果有,则这个定义的list会返回一个值,导致变量长度大于0

下面这几个item_dv_id, cart_item_id,title等就是根据id,自动调用对应的css中的图片和样式以及html中的文字。

最后上一下源码,图片就不上传了,用户体验勉强可以,但是实现方法还是较low的,只是给一个思路




	
	
	
	
	


	
	
全部商品
全选
商品
单价
数量
小计
操作
全选
删除选中的商品
清理购物车
已选择0件商品
总价:
猜你喜欢
随手购
React Native跨平台移动应用开发(第二版)
¥78.20
斐讯K2 1200M智能双频无线路由器 WIFI穿墙 PSG1218
¥399.00
React Native 移动开发实战

¥39.00
Vue.js 前端开发快速入门与专业前端

¥409.00
jQuery Mobile 移动网站开发

¥78.20
360随身wifi 300M 无线网卡 迷你路由器 黑色
¥399.00
斐讯K2 1200M智能双频无线路由器 WIFI穿墙 PSG1218
¥39.00
斐讯K2 1200M智能双频无线路由器 WIFI穿墙 PSG1218
¥409.00
*{
	padding: 0px;
	margin: 0px;

}
@font-face{
	font-family: iconfont;
	src:url(font/iconfont.eot);
	src:url(font/iconfont.ttf);
	src:url(font/iconfont.woff);
}

#header{
	width: 100%;
	height: 30px;
	line-height: 30px;

	/*border: 1px solid;*/
	background-color: #e3e4e5;
	margin:0 auto;
}



#HeaderRg{
	width: 600px;
	height: 30px;
	margin-right: 265px;
	float: right;
	/*border: 1px solid;*/
	display: inline-block;

}
#HeaderRg li{
	float: left;
	list-style: none;
	padding-left: 7px;
	padding-right: 7px;
	border-right: 1px solid #a9b1c0;
	font-size: 15px;
	color: #a9b1c0;
}
#test{
	margin-left: 250px;
	display: inline-block;
}
#Sousuo{
	float: right;
	width: 250px;
	height: 30px;
	line-height: 40px;
	/*border: 1px solid;*/
	display: inline-block;
	margin-top: 7px;
	margin-right: 7px;
}
#kuang{
	float: left;

	/*display: inline-block;*/
	margin-left: 17.5px;
	/*margin-top: 3px;*/
	/*right: 0px;*/
}
	#kuang input{
		width: 130px;
		/*margin-top: 3px;*/
		height: 24px;
		/*line-height: 26px;*/
		font-size: 15px;
		color: #a9b1c0;
		border: 3px solid #dc0000;
		border-bottom: 3.5px solid #dc0000;
	}
#anniu{
	float: right;
	margin-top: 6px;
	margin-right: 10px;
	height: 30px;
	line-height: 30px;
	width: 60px;
	/*margin-top: 10px;*/
	background-color: #dc0000;
	/*border: 3px solid #dc0000;*/
	/*color: white;*/
}
#anniu input{
	/*margin-top: 0px;*/
	/*float: right;*/
	height: 25px;
	width: 60px;
	background-color: #dc0000;
	color: white;
	border: 3px solid #dc0000;
	cursor: pointer;
}
#font{
	display: inline-block;
	font-size: 15px;
	color: #a9b1c0;
}
#fonttest{
	display: inline-block;
	font-size: 15px;
	color: #a9b1c0;
	padding-left: 5px;
	width: 70px;
}
#item1{
	display: none;
	position: fixed;
	/*border: 1px solid red;*/
	/*margin-left: 100px;*/
	z-index: 2;
}
#heng{
	color: #a9b1c0;
	background-color: white;
	width: 220px;
	line-height: 40px;
	height: 40px;
	/*border: 1px solid green;*/
	list-style: none;
}
#heng li{
	padding-left: 10px;
	font-size: 15px;
	float: left;
}
#hang2{

	width: 990px;
	height: 50px;
	/*border: 1px solid;*/
	margin: 0 auto;
	margin-top: 40px;
}
#logoDv{
	width: 134px;
	height: 42px;
	background-position: 0px 0px;
    background-image: url("../images/logo.png");
    display: inline-block;
}
#tianchong{
	width: 990px;
	height: 300px;
	line-height: 300px;
	margin: 0 auto;
}
#BeiJing{
	width: 715px;
	height: 230px;
	background-position: 0px 0px;
    background-image: url("../images/beijing.PNG");
    margin:0 auto;
}
.iconfont{
	font-family: iconfont;
	font-size: 20px;
	
	color: #8f6f6d;
	display: inline-block;
}
.iconfont1{
	font-family: iconfont;
	font-size: 20px;
	margin-left: 10px;
	color: #8f6f6d;
	display: inline-block;
}
#cart_display{
	width: 990px;
	/*height: 300px;*/
	/*border: 1px solid;*/
	margin: 0 auto;
	margin-bottom: 15px;
}
#cart_title{
	width: 80px;
	height: 40px;
	line-height: 40px;
	border-bottom: 1px solid;
	color: #dc0000;
	font-weight: bold;
}
#DaoHang{
	height: 40px;
	line-height: 40px;
	display: inline-block;
	width: 990px;
	margin: 0 auto;
	color:  #a9b1c0;
	background-color: #e3e4e5; 
}
#jiesuan{
	height: 40px;
	line-height: 40px;
	display: inline-block;
	border: 1px solid #e3e4e5;
	width: 990px;
	margin: 0 auto;
	margin-top: 5px;
	color:  #a9b1c0;
	/*background-color: #e3e4e5; */
}
#jiesuan input{
	width: 12px;
	height: 12px;
}
#anniu1{
	/*margin-left: 50px;*/
	width: 100px;
	height: 40px;
	/*background-color:#dc0000;*/
	display: inline-block; 
}
#anniu1 input{
	cursor: pointer;
	border: none;
	width: 100px;
	height: 30px;
	background-color: #dc0000;

}
.cart_item{
		width: 990px;
		height: 136px;
		border-top: 1px solid #c5c5c5;
		background-color: #fff4e8;
	}
	.cart_item_select{
		width: 123px;
		height: 84px;
		/*border: 1px solid;*/
		margin-top: 15px;
		float: left;
	}
	.select_cd{
		float: left;
		margin-right: 10px;

	}
	.cart_item_image{
		float: left;
		width: 80px;
		height: 84px;
		/*background: url("../images/favor1.jpg");*/
	}
	.item_image{
		width: 80px;
		height: 84px;
	}
	.item_shangpin{
		width: 208px;
		float: left;
		font-size: 12px;
		margin-top: 15px;
		color: black;
		font-weight: normal;
	}
	.item_danjia{
		float: left;
		width: 330px;
		font-size: 12px;
		margin-top: 15px;
		color: black;
		font-weight: normal;
		text-align: right;
	}
	.item_shuliang{
		width: 140px;
		float: left;
		margin-top: 15px;
		text-align: center;
	}
	.crement{
		width: 17px;
		height: 22px;
		background-color: white;
		border: 1px solid #cacaca;
	}
	.crement:hover{
		cursor: pointer;
	}
	.number{
		width: 46px;
		height: 20px;
		border: 0px solid;
		border-top: 1px solid #cacaca;
		border-bottom: 1px solid #cacaca;
		text-align: center;
		background-color: white;
	}
	.increment{
		width: 17px;
		height: 22px;
		background-color: white;
		border: 1px solid #cacaca;
	}
	.increment:hover{
		cursor: pointer;
	}
	.item_xiaoji{
		float: left;
		width: 80px;
		height: 45px;
		font-weight: 900;
		margin-top: 15px;
		text-align: center;
		/*border: 1px solid;*/
		font-size: 12px;
	}
	.caozuo{
		width: 75px;
		margin-top: 15px;
		text-align: right;
		font-size: 12px;
		color: black;
		float: left;
	}
	.caozuo a{
		color: black;
		text-decoration: none;
	}
#item_bar{
	width: 990px;
	margin: 0 auto;
	height: 23px;
	line-height: 23px;
	border: 1px solid;

}
	.left_style{
		float: left;
		/*border: 1px solid;*/
		font-size: 12px;
		color: #8f668f;
		margin-right: 20px;
	}
	.right_style{
		margin-top: 7.5px;
		float: right;
		margin-right: 5px;
		width: 8px;
		height:8px;
		border-radius: 4px;
		background-color: #aaa;
	}
	.right_style1{
		margin-top: 7.5px;
		float: right;
		margin-right: 5px;
		width: 32px;
		height:8px;
		border-radius: 4px;
		background-color:#dc0000;
	}
	#favor_dv{

		width: 991px;
		margin: 0 auto;
		height: 326px;
		border: 1px dashed #cacaca; 
		margin-top: 10px;
		border-right: 0px;
	}

	.item_dv{
		width: 246px;
		height: 326px;
		/*display: inline-block;*/
		float: left;
		border-right: 1px dashed #cacaca;
		/*border: 1px bold red;*/
	}
	.item_dvTF{
		width: 246px;
		height: 326px;
		/*display: inline-block;*/
		float: left;
		border: 1px dashed red;
		cursor: pointer;
	}
	
	.image{
		width: 160px;
		height: 160px;
		margin: 0 auto;
		margin-top: 20px;
		/*border: 1px solid;*/
		/*background: url("../images/favor1.jpg")*/
	}
	.favor_image1{
		background: url("../images/favor1.jpg")

	}
	.favor_image2{
		background: url("../images/favor2.jpg")
	}
	
	.favor_image3{
		background: url("../images/favor3.jpg")
	}
	
	.favor_image4{
		background: url("../images/favor4.jpg")
	}
	.favor_image5{
		background: url("../images/shopping1.jpg")
	}
	.favor_image6{
		background: url("../images/shopping2.jpg")
	}
	.favor_image7{
		background: url("../images/shopping3.jpg")
	}
	.favor_image8{
		background: url("../images/shopping4.jpg")
	}
	.title{
		width: 80%;
		/*border: 1px solid;*/
		font-size: 12px;
		margin: 0 auto;
		margin-top: 10px;
	}
	.price{
		margin: 0 auto;
		margin-top: 10px;
		color: #c91623;
		font-size: 14px;
		text-align: center;
	}
	.iconfont1_hover{
		background-color: white;
		cursor: pointer;
	}
	.favor_cart{
		margin: 0 auto;
		margin-top: 10px;
		border: 1px solid #999999;
		border-radius: 4px;
		width: 115px;
		height: 28px;
		background: url("../images/cart1.png");
	}
	.favor_cart_hover{
		border: 0px;
		cursor: pointer;
		background: url("../images/cart2.png");	
	}
	#shopping_dv{

		width: 990px;
		margin: 0 auto;
		height: 326px;
		border: 1px dashed #cacaca; 
		margin-top: 10px;
		border-right: 0px;
		display: none;
	}
	.kuang{
		border: 1px dashed #red;
	}
	
	 #sidebar-right{

                  border-right: 6px solid gray;
                  height: 100%;
                  position: fixed;
                  top: 0;
                  right: 0;
            }


      #P1{
                  width: 25px;
                  height:25px;
                  background-position: -120px -230px;
                  position: fixed;
                  right:6px;
                  top:220px;
                  
                  background-image: url("../images/test.PNG");
            }
            #P2{
                 width: 25px;
                  height:25px;
                  background-position: -73px -11px;
                  position: fixed;
                  right:6px;
                  top:248px;
                 
                  background-image: url("../images/test.PNG");
            }
             #P3{
                 width: 25px;
                  height:25px;
                  background-position: -73px -75px;
                  position: fixed;
                  right:6px;
                  top:276px;
                  
                  background-image: url("../images/test.PNG");
            }
             #P4{
                 width: 25px;
                  height:25px;
                  background-position: -72px -136px;
                  position: fixed;
                  right:6px;
                  top:304px;
                  
                  background-image: url("../images/test.PNG");
            }
             #P5{
                 width: 25px;
                  height:25px;
                  background-position: -248px -200px;
                  position: fixed;
                  right:6px;
                  top:332px;
                  
                  background-image: url("../images/test.PNG");
            }
            #P6{
                 width: 25px;
                  height:25px;
                  background-position: -73px -200px;
                  position: fixed;
                  right:6px;
                  top:360px;
                  
                  background-image: url("../images/test.PNG");
            }

$(function(){
	$(".favor_cart").hover(function(){
		$(this).addClass("favor_cart_hover"); 
	},function(){
		$(this).removeClass("favor_cart_hover");
	});

	$('#BeiJing').show();
		$('#cart_title').hide();
		$('#DaoHang').hide();
		$('#jiesuan').hide();

	$("#shopping").hover(function(){
		$("#favor_dv").hide();

		$("#shopping_dv").show();
		$("#yuandian1").addClass("right_style1");
		$("#yuandian2").removeClass("right_style1");
		$("#yuandian2").addClass("right_style");

	},null);

	$("#guess").hover(function(){
		$("#shopping_dv").hide();
		$("#favor_dv").show();
		$("#yuandian2").addClass("right_style1");
		$("#yuandian1").removeClass("right_style1");
	},null);

	$("#header>ul>li").mouseover(function(){
		$(this).addClass("iconfont1_hover");
		$(this).children('ul').show();
	});
	$("#header>ul>li").mouseout(function(){
		$(this).removeClass("iconfont1_hover");
		$(this).children('ul').hide();
	});

	$(".item_dv").hover(function(){
		$(this).addClass("item_dvTF"); 
	},function(){
		$(this).removeClass("item_dvTF");
	});

});
var Itemnumber=0;
var SPNB=0;
var ZJ=0;
//点击按钮增加数量
function increment(goodsId){

	var new_num=parseInt($("#number"+goodsId).val())+1;
	// alert(goodsId);
	$("#number"+goodsId).val(new_num);
	itemPrice(goodsId);
}
//点击按钮减少数量
function crement(goodsId){

	var new_num=parseInt($("#number"+goodsId).val())-1;
	if(new_num>=1){
	$("#number"+goodsId).val(new_num);
	itemPrice(goodsId);
	}
	
}
function selectremove(){
	for(i=1;i<9;i++){
		
	if($('#SELE'+i).is(':checked')){
			$("#cart_item"+i).remove();
			Itemnumber=Itemnumber-1;
	//alert(Itemnumber);
	if(Itemnumber==0){

		$('#BeiJing').show();
		$("#SPnumber").text("已选择0件商品");
		$("#zongjia").text("¥0");
		$('#cart_title').hide();
		$('#DaoHang').hide();
		$('#jiesuan').hide();
	}

		}
	}
	$("#SPnumber").text("已选择0件商品");
	$("#zongjia").text("¥0");
}
// 计算小计的内容
function itemPrice(goodsId){

	var shuliang=parseInt($("#number"+goodsId).val());
	var jia=$("#item_danjia"+goodsId).text().replace("¥","");
	
	var xiaoji=jia*shuliang;

	$("#item_xiaoji"+goodsId).text("¥"+xiaoji.toFixed(2));
}
// 删除一条商品
function removeItem(goodsId){
	$("#cart_item"+goodsId).remove();
	Itemnumber=Itemnumber-1;
	//alert(Itemnumber);
	// alert(Itemnumber);
	if(Itemnumber==0){

		$('#BeiJing').show();
		$("#SPnumber").text("已选择0件商品");
		$("#zongjia").text("¥0");
		$('#cart_title').hide();
		$('#DaoHang').hide();
		$('#jiesuan').hide();
	}
}

//全选
function allSelect(){
	// alert("111");
	$("input[type='checkbox']").prop("checked","true");
	
}
//全删 
function allremove(){
	for(i=1;i<9;i++){
		$("#cart_item"+i).remove();
	}
	$('#BeiJing').show();
	$("#SPnumber").text("已选择0件商品");
	$("#zongjia").text("¥0");
		$('#cart_title').hide();
		$('#DaoHang').hide();
		$('#jiesuan').hide();
}
//添加一条商品到购物车

function addItem(goodsId){

	//判断是否有这个商品
	var list = $("#test1").find("#cart_item"+goodsId);
		if(list.length > 0){
			increment(goodsId);


		}
		else{

	$('#cart_title').show();
	$('#DaoHang').show();
	$('#jiesuan').show();
	$('#BeiJing').hide();
	var item_dv_id="#item_dv"+goodsId;
	var cart_item_id="cart_item"+goodsId;
	var title=$(item_dv_id+" .title").text();
	Itemnumber=Itemnumber+1;
	//alert(Itemnumber);
	
	var img_url=$(".favor_image"+goodsId).css("background-image");

	img_url = img_url.split("(")[1].replace(")","");
	 jiage=$(item_dv_id+" .price").text();
	
	// alert(jiage);
	

	var content="
" +"
" +"
" +"
" +"
" +"
" +title +"
" +"
" +jiage +"
" +"
" +"" +"
" +"
" +jiage +"
" +"
" +"删除" +"
" +"
"; $("#test1").append(content); } } //结算 function Alljs(){ for(i=1;i<9;i++){ var test5=parseInt($("#number"+i).val()); if($('#SELE'+i).is(':checked')&&test5>1){ SPNB=SPNB+parseInt($("#number"+i).val()); SPNB=SPNB-1; } } if($('#box').is(':checked')) { var shuliang=$("input[type='checkbox']:checked").length-1+SPNB; }else{ var shuliang=$("input[type='checkbox']:checked").length+SPNB; } $("#SPnumber").text("已选择"+shuliang+"件商品"); for(i=1;i<9;i++){ if($('#SELE'+i).is(':checked')){ var test4=$("#item_xiaoji"+i).text(); test4 = test4.split("¥")[1]; ZJ=ZJ+parseFloat(test4); $("#zongjia").text("总价:¥"+ZJ.toFixed(2)); } } ZJ=0; SPNB=0; } //拖拽 function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("asdf",1); } function drag1(ev) { ev.dataTransfer.setData("asdf",2); } function drag2(ev) { ev.dataTransfer.setData("asdf",3); } function drag3(ev) { ev.dataTransfer.setData("asdf",4); } function drag4(ev) { ev.dataTransfer.setData("asdf",5); } function drag5(ev) { ev.dataTransfer.setData("asdf",6); } function drag6(ev) { ev.dataTransfer.setData("asdf",7); } function drag7(ev) { ev.dataTransfer.setData("asdf",8); } function addItem1(ev){ ev.preventDefault(); var data=ev.dataTransfer.getData("asdf"); //判断是否有这个商品 var list = $("#test1").find("#cart_item"+data); if(list.length > 0){ increment(data); } else{ $('#cart_title').show(); $('#DaoHang').show(); $('#jiesuan').show(); $('#BeiJing').hide(); var item_dv_id="#item_dv"+data; var cart_item_id="cart_item"+data; var title=$(item_dv_id+" .title").text(); Itemnumber=Itemnumber+1; //alert(Itemnumber); var img_url=$(".favor_image"+data).css("background-image"); img_url = img_url.split("(")[1].replace(")",""); jiage=$(item_dv_id+" .price").text(); var content="
" +"
" +"
" +"
" +"
" +"
" +title +"
" +"
" +jiage +"
" +"
" +"" +"
" +"
" +jiage +"
" +"
" +"删除" +"
" +"
"; $("#test1").append(content); } }

 

 

 

你可能感兴趣的:(前端)