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 相关文章推荐
childNodes.length与children.length的区别
May 14 Javascript
IE event.srcElement和FF event.target 功能比较
Mar 01 Javascript
Safari5中alert的无限循环BUG
Apr 07 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
Nov 23 Javascript
jquery获取checkbox的值并post提交
Jan 14 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
Mar 03 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
Jun 07 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
Vue-axios-post数据后端接不到问题解决
Jan 09 Javascript
javascript局部自定义鼠标右键菜单
Dec 08 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 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实现插入排序?
2013/04/10 PHP
php不写闭合标签的好处
2014/03/04 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
PHP安全之register_globals的on和off的区别
2020/07/23 PHP
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
js对table的td进行相同内容合并示例详解
2013/12/27 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
2020/07/21 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
Python查找文件中包含中文的行方法
2018/12/19 Python
python实现淘宝秒杀脚本
2020/06/23 Python
python实现爬山算法的思路详解
2019/04/09 Python
django创建超级用户过程解析
2019/09/18 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
初中音乐教学反思
2014/01/12 职场文书
房地产促销活动方案
2014/03/01 职场文书
城市精细化管理实施方案
2014/03/04 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
勤俭节约主题班会
2015/08/13 职场文书
《所见》教学反思
2016/02/23 职场文书
使用@Value值注入及配置文件组件扫描
2021/07/09 Java/Android
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript