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 相关文章推荐
基于jquery的滚动新闻列表
Jun 19 Javascript
jQuery下的几个你可能没用过的功能
Aug 29 Javascript
js实现按钮颜色渐变动画效果
Aug 20 Javascript
Javascript闭包实例详解
Nov 29 Javascript
JavaScript禁止复制与粘贴的实现代码
May 16 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
Jan 09 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
iview table render集成switch开关的实例
Mar 14 Javascript
详解Vue取消eslint语法限制
Aug 04 Javascript
vue cli使用融云实现聊天功能的实例代码
Apr 19 Javascript
js实现带搜索功能的下拉框
Jan 11 Javascript
JavaScript中的惰性载入函数及优势
Feb 18 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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
jquery把int类型转换成字符串类型的方法
2016/10/07 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
Django基于ORM操作数据库的方法详解
2018/03/27 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
求职自荐信范文格式
2013/11/29 职场文书
社区包粽子活动方案
2014/01/21 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
高一军训感想
2015/08/07 职场文书
思品教学工作总结
2015/08/10 职场文书
python 逐步回归算法
2021/04/06 Python
canvas多重阴影发光效果实现
2021/04/20 Javascript
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript