用js+cookie实现商城的购物车功能

页面上的添加功能主要就是两个按钮
<input name="buy" type="image" alt="第一个商品" src="data:images/buy.gif" align="middle" onclick="getInfo();" style="float:left;" />
<h1>商品1</h1><br/>
<input type="image" alt="第二个商品" src="data:images/buy.gif" align="middle" onclick='common.intoCart(88,"test",60,50,1);' style="float:left;" />
<h1>商品2</h1>
购物车页面

//页面加载时执行
window.onload = function() {
//更新购物车
getCartInfo();
};
/*
* 删除左右两端的空格
*/
function trim(str)
{
return str.replace(/(^\s*)|(\s*$)/g, '');
}
/*
* 验证是否是数字
*/
function isNum(str){
return str.match(/\D/)==null;
}
//设置商品数量
function setQuantity(goods_id,obj){
//判断输入的购买数量是否合法
var goods_count=trim(obj.value);
var next_obj=obj.nextSibling;
var old_goods_count=trim(next_obj.value);
//判断输入的购买数量是否合法
if(isNum(goods_count) && goods_count!= old_goods_count && goods_count!=0)
{
//更改商品的购买数量
common.updateQuantity(goods_id,goods_count);
}else{
//重置商品的购买数量
obj.value = old_goods_count;
}
}
//取得购物车信息
function getCartInfo(){
var str="";
var amount=0;
var _div = document.getElementById("goods_info");
//从Cookie中取出商品信息列表,并将其转化为数组
var arr = common.convertArray();
//如果数组是否为空
if(arr != "" && arr != null && arr != "null")
{
//将商品信息从数组中循环取出
for(i=0;i < arr.length;i++)
{
str+='<ul><li class="li_name">'+arr[i][1]+
'</li><li class="li_pice">'+arr[i][2]+
'</li><li class="li_pice">'+arr[i][3]+
'</li><li class="li_pice"><input type="text" value="'+arr[i][4]+
'" onBlur="setQuantity('+arr[i][0]+
',this);" /><INPUT type=hidden value='+arr[i][4]+
'></li><li class="li_del"><input type="image" src="data:images/trash.gif" onclick="common.reMoveOne('+arr[i][0]+
');" /></li></ul>';
//计算商品总额
amount+=arr[i][3]*arr[i][4];
}
//替换页面
_div.innerHTML = str;
}else{
str = '<ul><li class="li_no">您还没有挑选商品</li></ul>';
//替换页面
_div.innerHTML = str;
}
//重置总金额
document.getElementById("amount").innerText = amount;
}
</script>
js页面太多了
demo地址
链接:http://pan.baidu.com/s/1cD1cbO 密码:9prl
用js+cookie实现商城的购物车功能的更多相关文章
- 给destoon商城的列表中和首页添加购物车功能
如何给destoon商城的列表中和首页添加购物车功能? 目前加入购物车的功能只存在商城的详细页面里,有时候我们需要批量购买的时候,希望在列表页就能够使用这个加入购物车的功能. 修改步骤见下: 例如在商 ...
- 基于vue2.0打造移动商城页面实践 vue实现商城购物车功能 基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
基于vue2.0打造移动商城页面实践 地址:https://www.jianshu.com/p/2129bc4d40e9 vue实现商城购物车功能 地址:http://www.jb51.net/art ...
- 【JSP】Cookie的使用及保存中文,并用Cookie实现购物车功能
Cookie是服务器存放在客户端的一些数据,比如密码,以及你曾经访问过的一些数据. 设置Cookie //设置cookie Cookie cookie = new Cookie("TOM&q ...
- JS实现添加至购物车功能
效果图展示: 当将书拖拽至购物车一览时: 首先将页面的基本结构写出来: <!DOCTYPE html> <html lang="en"> <head& ...
- Vue nodejs商城项目-商品列表价格过滤和加入购物车功能
一.价格过滤功能 GoodsList.vue >>点击价格区间时发送请求 methods:{ getGoodsList(flag){ var param = { ...
- javaweb学习——session和Cookie实现购物车功能
1.创建Book类,实现对图书信息的封装. package cn.it.sessionDemo.example1; import java.io.Serializable; /** * 该类实现对图书 ...
- Cookie实现购物车功能
这里的购物车暂时存放书,后期把参数改成Object,把方法抽取成接口,只要实现了接口的Object类都可以放进购物项,这样就实现了购物任何物品 使用购物项因为一个购物项可以包含某种商品的数量,总价等, ...
- ASP.NET之电子商务系统开发-2(购物车功能)
一.前言 继上次的首页数据列表后,这是第二篇.记录一下购物车这个比较庞大的功能,可能实现的方法跟其他人有点不一样,不过原理都差不多,是将cookie存数据库里面的. 二.开始 首先看一下购物车流程及对 ...
- jQuery 复制节点的元素实现加入到购物车功能
描写叙述: 用户点击左边div中的商品,相应商品会自己主动加入到右面的div中,类似电子商城中的加入到购物车功能. 主要用到了jquery中的复制节点功能,基本原理是首先获取点击的元素,然后将对应信息 ...
随机推荐
- 1623: [Usaco2008 Open]Cow Cars 奶牛飞车
1623: [Usaco2008 Open]Cow Cars 奶牛飞车 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 291 Solved: 201[S ...
- 2431: [HAOI2009]逆序对数列
2431: [HAOI2009]逆序对数列 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 954 Solved: 548[Submit][Status ...
- Java中实现短信发送
最近跟着做公司的项目偶然接触到的,顺势把这个给记录下来,给自己梳理一下. 采用引入第三方工具的方式,网上查了半天,发现简单的实现方式便是注册一个中国网建的账号,新建账号的时候会附带赠几条免费短信,彩信 ...
- 吃透css3之3d属性--perspective和transform
本文为原创,转载请注明出处: cnzt 写在前面:最近写了个3d轮播效果图,在此将思路和过程中遇到的问题都记录下来. 首先,我们下来了解一下perspective和transform都是做什么的. t ...
- - (BOOL)setResourceValue:(id)value forKey:(NSString *)key error:(NSError **)error
如果我们的APP需要存放比较大的文件的时候,同时又不希望被系统清理掉,那我么我们就需要把我们的资源保存在Documents目录下,但是我们又不希望他会被iCloud备份,因此就有了这个方法 [URL ...
- java设计模式(1)
设计模式定义 设计模式原则 设计模式分类 常用设计模式 (一)设计模式定义 设计模式是针对软件设计中普遍存在的各种问题,所提出的解决方案. 换句话说,设计模式是一套被反复使用,多数人知晓的.经过分类的 ...
- 零基础入门学习UI设计指南
第一步:认识设计启蒙必备知识 学习一项技能,尤其是已经有一定沉淀并在各行各业有广泛应用的技能,就一定要对它先有充分的认知.在开始正式学习前,你需要花足够的经历去了解和查阅它的起源.发展.应用.未来. ...
- JSP九大内置对象的作用和用法总结(转)
SP中一共预先定义了9个这样的对象,分别为:request.response.session.application.out.pagecontext.config.page.exception 1.r ...
- Mysql数据库读写分离Amoeba
1.理解读写分离的原理 随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状.读写分离现在被大量应 ...
- linux-SSR多用户版配置详解
前述:好久没有玩服务器,今天有一哥们要浏览下external website,就搭建一个新的服务器(本人用Vultr的Japan2.5$/mon centOs7.0 64位) 嗯,条件差不多了,开始啦 ...