用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中的复制节点功能,基本原理是首先获取点击的元素,然后将对应信息 ...
随机推荐
- 唐伯猫的 sql server 2008 的安装和操作记录
在服务器win 2008 server r2 上安装sql 首先下载sql server 2008 ,云盘有存储sql,很多论坛也有下载SQLEXPRADV_x64_CHS.exe 双击sql s ...
- 1741: [Usaco2005 nov]Asteroids 穿越小行星群
1741: [Usaco2005 nov]Asteroids 穿越小行星群 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 231 Solved: 166 ...
- box-shadow IE8兼容处理
根据canisue(http://caniuse.com/#search=box-shadow),box-shadow兼容性如下图所示: 测试代码: <!DOCTYPE html> < ...
- iOS开发之Segue
Storyboard上每一根用来界面跳转的线,都是一个UIStoryboardSegue对象(简称Segue). 每一个Segue对象,都有3个属性: (1)唯一标识 @property (nonat ...
- jQuery获取Select选择的Text和 Value(转,待测试确认)
在自己写的第一个小项目的省市区联动的时候需要用到select,找到这篇文章.实在是觉得太好了,忍不住转过来.待日后测试后再修改整理次文章. 下面是文章原文 jQuery获取Select选择的Text和 ...
- underscore.js,js工具库
官方文档:http://underscorejs.org/ var totalCheckPriceVal = _.reduce(tableData[0],function(memo,num){ var ...
- 【Egret】Lakeshore 使用中的一些疑难解决技巧!
用Lakeshore 1.2.1版本发布的html,会出现一些用户不想要的东西,下面讲讲如何去掉: 一.问题:游戏或者动画在PC端也能跟随游览器自适应. 解决方法:①找到发布文件下的 egret_l ...
- poptest老李谈分布式与集群 1
poptest老李谈分布式与集群 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:90882 ...
- json解包与json封包
首先,对两个名词进行简单的说明: 1.NSData 用来存储二进制的数据类型.NSData类提供了一种简单的方式,它用来设置缓冲区.将文件的内容读入缓冲区,或将缓冲区的内容写到一个文件.不变缓冲区(N ...
- SpringMVC 自定义全局日期转换器
第一步: 编写自定义转换器的类 /* * 自定义日期转换器 */ public class CustomDateConverter implements Converter<String, Da ...