DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript綜合知識 >> js購物車實現思路及代碼
js購物車實現思路及代碼
編輯:JavaScript綜合知識     

 提起購物車想必只有在一些購物網站上才可以看得到,下面為大家介紹下使用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>"+  "<button style="background: #f5e3d5;border-top: none;border: 1px #f5e3d5 solid; border-radius: 1px 1px 1px 1px;-moz-border-radius: 1px; color: #c19268;" class="add">+</button>"+  "</li>"+  "<li style="width: 18%;text-align: center;"><span id="total">"+list[i].totalprice+"¥</span></li>"+  "<li style="width: 18%;text-align: center;">"+  "<img src="<%=basePath%>image/cha.png" style="width: 25px;height: 25px" id="cha">"+  "</li>"+  "</ul>"+  "<hr size="3px;" color="#c1c1c1" style="width: 100%;">";  $(row).appendTo($("#main_t_l"));  $("#totalprice").find("span").text(total);  }  }else {  $("#main_t_l").append("<ul><li style="width: 100%;text-align: center;">您的購物車為空,快去購物吧!</li></ul>");  $("#totalprice").find("span").text(0);  }  }  });  }  //提交訂單  $("#ji").click(function(){  var name = $("#name").val();  var tele = $("#tele").val();  var address = $("#address").val();  var totalprice = $("#totalprice").find("span").text();  if(totalprice == 0){  alert("購物車為空,不能提交訂單!");  return;  }  if(name==""){  alert("姓名不能為空!");  return;  }  if(tele==""){  alert("電話不能為空!");  return;  }  if(address==""){  alert("地址不能為空!");  return;  }  $("#ji").attr("disabled","disabled");  $("#ji").css("background","#808080");  document.getElementById("bgDiv").style.visibility = "visibility";  document.getElementById("myspin").style.visibility = "visibility";  $.post("<%=basePath%>addShopCart.action","name="+name+"&telephone="+tele+"&address="+address,function(data){  if(data.success == true) {  getShopCartInfo();  alert("提交成功");  }else {  alert("提交失敗,請重新提交!");  $("#ji").addClass("ji");  $("#ji").attr("disabled","");  }  });  });  window.onload = getShopCartInfo();  window.onload = function() {  document.getElementById("bgDiv").style.visibility = "hidden";  document.getElementById("myspin").style.visibility = "hidden";  };  });  //驗證聯系方式  function validTeleNum() {  var tel = /(^[0-9]{3,4}[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^[0-9]{3,4}-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^([0-9]{3,4})[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;  if (document.getElementById("tele").value != '') {  if (!tel.test(document.getElementById("tele").value)) {  alert("聯系電話格式不正確,請重新輸入!");  document.getElementById("tele").value = "";  }  }  }  </script>  </head>  <body>  <jsp:include page="../jsp/progress.jsp"></jsp:include>  <div id="static">  <div style="text-align: left;">  <a href="javascript:history.go(-1)"><img src="<%=basePath %>pic/fan4.png" style="width: 15%;height:50px;position: absolute; top:50px;"></a>  <img src="<%=basePath %>pic/top5.jpg">  </div>  <div>  <div id="main">  <div>  <ul>  <li style="width: 17%;text-align: center;">單品</li>  <li style="width: 17%;text-align: center;">價格</li>  <li style="width: 30%;text-align: center;">數量</li>  <li style="width: 18%;text-align: center;">合計</li>  <li style="width: 18%;text-align: center;">刪除</li>  </ul>  </div>  </div>  <div id="main_t">  <div id="main_t_l" style="margin-top: 20px;">  </div>  <div id="main_t_a" style="margin-top: 20px;">  <hr size="3px;" color="#c1c1c1" style=" width: 100%; margin-top: 50px;">  <div id="zon"><br>  </div>  <table align="center">  <tr>  <td>姓名:</td>  <td><input type="text" class="bot_in" id="name"/></td>  </tr>  <tr>  <td>聯系方式:</td>  <td><input type="text" class="bot_in" id="tele" onblur="validTeleNum()"/></td>  </tr>  <tr>  <td>地址:</td>  <td><input type="text" class="bot_in" id="address"/></td>  </tr>  </table>  <div style="margin-left:60%;">  <span style="font-size: 1.2em; color: #f8cd66;">總計</span>  <button style="background: #f1fcc4; margin-left:5px;border: 3px #f1fcc4 solid; border-radius: 3px 3px 3px 3px;-moz-border-radius: 3px; color: #000;" id="totalprice"><span></span>¥</button>  <br><br>  </div>  <div style="background: #f1fcc4 ;" align="center">  <input type="button" id="ji" value="提交訂單"></input><br>  <span style="font-size: 2em; color: #a6ae87; margin-left: 93%;">></span>  </div>  </div>  </div>  </div>  </div>  </body>  </html> 
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved