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 相关文章推荐
js批量设置样式的三种方法不推荐使用with
Feb 25 Javascript
jquery mobile事件多次绑定示例代码
Sep 13 Javascript
原生JS实现加入收藏夹的代码
Oct 24 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
Feb 28 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
Mar 09 Javascript
深入理解jquery自定义动画animate()
May 24 Javascript
js本地图片预览实现代码
Oct 09 Javascript
详解如何用babel转换es6的class语法
Apr 03 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 Javascript
微信小程序适配iphoneX的实现方法
Sep 18 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
Sep 25 Javascript
Element-UI中关于table表格的那些骚操作(小结)
Aug 15 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
配置支持SSI
2006/11/25 PHP
php学习之数据类型之间的转换代码
2011/05/29 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP基于array_unique实现二维数组去重
2020/07/14 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
js实现日历与定时器
2017/02/22 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
python修改字典内key对应值的方法
2015/07/11 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
django的autoreload机制实现
2020/06/03 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
python matplotlib库的基本使用
2020/09/23 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
一套C++笔试题面试题
2012/06/06 面试题
全国文明单位申报材料
2014/05/31 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书