萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> js購物車實現思路及代碼

js購物車實現思路及代碼

 提起購物車想必只有在一些購物網站上才可以看得到,下面為大家介紹下使用js實現的購物車,感興趣的朋友可以參考下

代碼如下: <%@ page language="java" contentType="text/html; charset=utf-8"  pageEncoding="utf-8"%>  <%  String path = request.getContextPath();  String basePath = request.getScheme() + "://"  + request.getServerName() + ":" + request.getServerPort()  + path + "/";  %>  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <html>  <head>  <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>  <title>購物車</title>  <style type="text/css">  body{  background: #fefbe6;  text-align: center;  margin: 0;  padding: 0;  color: #500f60;  }  li{  list-style-type: none;  }  a:link{  list-style-type: none;  }  img{  width: 100%;  height: 120px;  }  #static{  margin: 0 auto;  text-align: left;  }  #main{  width: 100%;  margin: 0 auto;  color: #530a4a;  position: absolute;  top:110px;  }  #main ul{  }  #main ul li{  width: 20%;  float: left;  }  #main_t{  position: absolute;  top:140px;  color: #530a4a;  width: 100%;  margin: 0;  padding: 0;  font-size: 0.8em;  }  #main_t_l,#main_t_a{  color: #3f1262;  width: 100%;  font-size: 0.8em;  }  #main_t_l ul li{  width: 20%;  float: left;  }  #zon{  background: #dbfff1;  color: #f8cd66;  }  .bot_in{  background: #f1fcc4;  border: 3px #f1fcc4 solid;  border-radius: 6px 6px 6px 6px;  -moz-border-radius: 6px;  }  #ji{  width:130px;  height:30px;  filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);  -ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);/*IE8*/  background:red;  background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5));  background:-webkit-gradient(linear, 0 0, 0 bottom, from(#0dc613), to(rgba(111, 246, 116, 0.5)));  background:-o-linear-gradient(top, red, rgba(0, 0, 255, 0.5));  color: #fff;  margin-top:6%;  border: none;  }  .ji {  width:130px;  height:30px;  filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);  -ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0);/*IE8*/  background:red;  background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5));  background:-webkit-gradient(linear, 0 0, 0 bottom, from(#0dc613), to(rgba(111, 246, 116, 0.5)));  background:-o-linear-gradient(top, red, rgba(0, 0, 255, 0.5));  color: #fff;  margin-top:6%;  border: none;  }  </style>  <script type="text/javascript">  $(function() {  //點擊加號購物車數量增加1  $(".add").live("click",function(){  var isAdd = true;  var num = parseInt($(this).closest("li").find("#num").text());  var productId = $(this).closest("li").find("#productId").val();  var totalprice = parseFloat($("#totalprice").text());  var price = parseFloat($(this).closest("ul").find("#price").text());  if (!isNaN(num)) {  num++;  if (num > 99) {  num = 99;  isAdd = false;  }  if(isAdd) {  totalprice = totalprice + price;  }  }  var total = num * price;  $(this).closest("li").find("#num").text(num);  $(this).closest("ul").find("#total").text(total);  $.post("<%=basePath%>updateShopCart.action","productId="+productId+"&num="+num,function(data){  if(data.success==true){  $("#totalprice").text(totalprice);  }  });  });  //點擊加號購物車數量減少1  $(".delete").live("click",function(){  var isReduce = true;  var num = parseInt($(this).closest("li").find("#num").text());  var productId = $(this).closest("li").find("#productId").val();  var totalprice = parseFloat($("#totalprice").text());  var price = parseFloat($(this).closest("ul").find("#price").text());  if (!isNaN(num)) {  num--;  if (num < 1) {  num = 1;  isReduce = false;  }  if(isReduce){  totalprice = totalprice - price;  }  }  var total = num * price;  $(this).closest("li").find("#num").text(num);  $(this).closest("ul").find("#total").text(total);  $.post("<%=basePath%>updateShopCart.action","productId="+productId+"&num="+num,function(data){  if(data.success==true){  $("#totalprice").text(totalprice);  }  });  });  $("#cha").live("click",function() {  var productId = $(this).closest("ul").find("#productId").val();  $.post("<%=basePath%>deleteFromShopCart.action","productId="+productId,function(data){  if(data.success==true){  getShopCartInfo();  }  });  });  function getShopCartInfo(){  $.ajax({  type : "POST",  url : "<%=basePath%>findShopCart.action",  success : function(data) {  var row = "";  var list = data.list;  $("#main_t_l").empty();  var total = 0;  if(list!=null&&list.length!=0){  for(var i=0;i<list.length;i++){  total = total + list[i].price * list[i].num;  row = "<ul>"+  "<li style="width: 17%;text-align: center;">"+list[i].productname+"</li>"+  "<li style="width: 17%;text-align: center;" id="price">"+list[i].price+"¥</li>"+  "<li style="width: 30%;text-align: center;">"+  "<input type="hidden" id="productId" value="+list[i].id+">"+  "<button style="background: #dbddd4;border-top: none;border: 1px #dbddd4 solid; border-radius: 1px 1px 1px 1px;-moz-border-radius: 1px;" id="num">"+list[i].num+"</button>"+  "<button style="background: #f5e3d5;border-top: none;border: 1px #f5e3d5 solid; border-radius: 1px 1px 1px 1px;-moz-border-radius: 1px; color: #c19268;" class="delete">-</button>"+&nbs
copyright © 萬盛學電腦網 all rights reserved