js购物车实现思路及代码(个人感觉不错)_Javascript教程-查字典教程网
js购物车实现思路及代码(个人感觉不错)
js购物车实现思路及代码(个人感觉不错)
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:购物车body{background:#fefbe6;text-align:center;margin:0;padding...

复制代码 代码如下:

<%@ 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>"+list[i].productname+"</li>"+

"<li id="price">"+list[i].price+"¥</li>"+

"<li>"+

"<input type="hidden" id="productId" value="+list[i].id+">"+

"<button id="num">"+list[i].num+"</button>"+

"<button>-</button>"+

"<button>+</button>"+

"</li>"+

"<li><span id="total">"+list[i].totalprice+"¥</span></li>"+

"<li>"+

"<img src="<%=basePath%>image/cha.png" id="cha">"+

"</li>"+

"</ul>"+

"<hr size="3px;" color="#c1c1c1">";

$(row).appendTo($("#main_t_l"));

$("#totalprice").find("span").text(total);

}

}else {

$("#main_t_l").append("<ul><li>您的购物车为空,快去购物吧!</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>

<a href="javascript:history.go(-1)"><img src="<%=basePath %>pic/fan4.png"></a>

<img src="<%=basePath %>pic/top5.jpg">

</div>

<div>

<div id="main">

<div>

<ul>

<li>单品</li>

<li>价格</li>

<li>数量</li>

<li>合计</li>

<li>删除</li>

</ul>

</div>

</div>

<div id="main_t">

<div id="main_t_l">

</div>

<div id="main_t_a">

<hr size="3px;" color="#c1c1c1">

<div id="zon"><br>

</div>

<table align="center">

<tr>

<td>姓名:</td>

<td><input type="text" id="name"/></td>

</tr>

<tr>

<td>联系方式:</td>

<td><input type="text" id="tele" onblur="validTeleNum()"/></td>

</tr>

<tr>

<td>地址:</td>

<td><input type="text" id="address"/></td>

</tr>

</table>

<div>

<span>总计</span>

<button id="totalprice"><span></span>¥</button>

<br><br>

</div>

<div align="center">

<input type="button" id="ji" value="提交订单"></input><br>

<span>></span>

</div>

</div>

</div>

</div>

</div>

</body>

</html>

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类