提起購物車想必只有在一些購物網站上才可以看得到,下面為大家介紹下使用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