JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)


Posted in Javascript onJanuary 13, 2015

购物车点击可以减少或者添加商品并自动计算价格:

购物车中可能有这样的功能,那就是点击按钮可以实现商品数量的减少或者增加,并且能够实时的计算出总的商品价格,下面就通过代码实例介绍一下如何实现此功能,当然下面的这个模拟实现的购物车难登大雅之堂,但是可以从中得到一些启发或者相关的知识点,代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>三水点靠木</title>

<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>

<script type="text/javascript"> 

$(function(){ 

  $(".add").click(function(){ 

    var t=$(this).parent().find('input[class*=text_box]'); 

    t.val(parseInt(t.val())+1) 

    setTotal(); 

  }) 

  $(".min").click(function(){ 

    var t=$(this).parent().find('input[class*=text_box]'); 

    t.val(parseInt(t.val())-1) 

    if(parseInt(t.val())<0){ 

      t.val(0); 

    } 

    setTotal(); 

  }) 

  function setTotal(){ 

    var s=0; 

    $("#tab td").each(function(){ 

      s+=parseInt($(this).find('input[class*=text_box]').val())

   *parseFloat($(this).find('span[class*=price]').text()); 

    }); 

    $("#total").html(s.toFixed(2)); 

  } 

  setTotal();

}) 

</script>

</head>

<body>

<table id="tab">

  <tr>

    <td>

      <span>单价:</span><span class="price">1.50</span>

      <input class="min" name="" type="button" value="-" />

      <input class="text_box" name="" type="text" value="1" />

      <input class="add" name="" type="button" value="+" /></td>

  </tr>

  <tr>

    <td>

      <span>单价:</span><span class="price">3.95</span>

      <input class="min" name="" type="button" value="-" />

      <input class="text_box" name="" type="text" value="1" />

      <input class="add" name="" type="button" value="+" /></td>

  </tr>

</table>

<p>总价:<label id="total"></label></p>

</body>

</html>

上面的代码实现了简单的购物车功能,下面详细介绍一下它的实现过程。

代码注释:

1.$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
2.$(".add").click(function(){}),为加号按钮注册click事件处理函数。
3.var t=$(this).parent().find('input[class*=text_box]'),获取文本框,这个文本中显示的是要购买商品的数目。
4.t.val(parseInt(t.val())+1),点击一次商品数量加1。
5.setTotal(),执行此函数可以计算出总的价格并且显示。
6.$(".min").click(function(){}),为减号按钮注册click事件处理函数。
7.function setTotal(){},此函数可以计算出总价格并且显示出来。
8.var s=0,声明一个变量,此变量用来存储总价格。
9.$("#tab td").each(function(){
  s+=parseInt($(this).find('input[class*=text_box]').val())*parseFloat($(this).find('span[class*=price]').text());
});
可以遍历文本框并乘以单价,然后进行累加,最后计算出来的总价格。

Javascript 相关文章推荐
用Greasemonkey 脚本收藏网站会员信息到本地
Oct 26 Javascript
两个JavaScript jsFiddle JSBin在线调试器
Mar 14 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
Apr 07 Javascript
js中top/parent/frame概述及案例应用
Feb 06 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
jquery的trigger和triggerHandler的区别示例介绍
Apr 20 Javascript
JS简单操作select和dropdownlist实例
Nov 26 Javascript
node.js中的url.resolve方法使用说明
Dec 10 Javascript
node.js从数据库获取数据
May 08 Javascript
react以create-react-app为基础创建项目
Mar 14 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
Jan 21 Javascript
JS实现鼠标按下拖拽效果
Jul 23 Javascript
jquery删除指定子元素代码实例
Jan 13 #Javascript
JavaScript删除指定子元素代码实例
Jan 13 #Javascript
JS长整型精度问题实例分析
Jan 13 #Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
Jan 13 #Javascript
javascript面向对象之定义成员方法实例分析
Jan 13 #Javascript
jQuery大于号(&gt;)选择器的作用解释
Jan 13 #Javascript
javascript面向对象之this关键词用法分析
Jan 13 #Javascript
You might like
PHP 动态生成静态HTML页面示例代码
2014/01/15 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
异步加载script的代码
2011/01/12 Javascript
JS的replace方法介绍
2012/10/20 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
理解javascript正则表达式
2016/03/08 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
javascript实现计算器功能
2020/03/30 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
python+webdriver自动化环境搭建步骤详解
2019/06/03 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
如何在Python对Excel进行读取
2020/06/04 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
放假通知格式
2015/04/14 职场文书
亮剑观后感500字
2015/06/05 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
Vue的过滤器你真了解吗
2022/02/24 Vue.js
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby