jQuery实现购物车计算价格功能的方法


Posted in Javascript onMarch 25, 2015

本文实例讲述了jQuery实现购物车计算价格功能的方法。分享给大家供大家参考。具体如下:

目的

实现在html界面修改购物车的件数,购物车商品价格的小计和总计要修改。

实现思路

1.当点击进入界面,刷新的时候触发body内的onload=""方法,跳转到JS代码。这样做的原因是在数据库内我们只会存储某客户的准备购买的商品件数,而不会存储每类商品价格的小计和购物车内所有物品的商品总价格,初始化的目的就是为将这些数字计算出来后显示在前台界面上。

2.当更改数量输入框中每个商品的数量时,整个购物表商品的价格,商品的小计和总计会根据数量发生变化。

成品样图展示

全部代码(火狐浏览器)

jQuery实现购物车计算价格功能的方法

<!DOCTYPE HTML>
<html>
 <head>
  <title>cart</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <!-- 要把jquery-1.9.1.min.js导进去,不导出不来 -->
  <script type="text/javascript" src="jquery-1.9.1.min.js"></script>
  <script language="javascript">
$(function(){
var size=3.0*$('#image1').width();
$("#image1").mouseover(function(event) {
var $target=$(event.target);
if($target.is('img'))
{
$("<img id='tip' src='"+$target.attr("src")+"'>").css({
"height":size,
"width":size,
}).appendTo($("#imgtest"));/*将当前所有匹配元素追加到指定元素内部的末尾位置。*/
}
}).mouseout(function() {
$("#tip").remove();/*移除元素*/
})

})
</script>
  <script type="text/javascript">
function total(id)
{
/*计算单个的价格*/
var quantity=document.getElementById("quantity"+id).value;
var price=document.getElementById("price"+id).value;
var smallTotal=quantity*price;
var smallT=document.getElementById("smallTotal"+id);
smallT.innerHTML=smallTotal;

/*计算总价格*/
var totalPrice=0;
for(var a=1;a<3;a++){
var quantity=document.getElementById("quantity"+a).value;
var price=document.getElementById("price"+a).value;
var smallTotal=quantity*price;
totalPrice=totalPrice+smallTotal;
}
var total=document.getElementById("total");
total.innerHTML=totalPrice;
}
</script>
  <script type="text/javascript">
function initialize()
{
var totalPrice=0;
for(var a=1;a<3;a++){
var quantity=document.getElementById("quantity"+a).value;
var price=document.getElementById("price"+a).value;
var smallTotal=quantity*price;
totalPrice=totalPrice+smallTotal;
/*alert(smallTotal);*/
var smallT=document.getElementById("smallTotal"+a);
smallT.innerHTML=smallTotal;
}
/*取出购物车的所有商品的价格总和*/
var total=document.getElementById("total");
total.innerHTML=totalPrice;
}
</script>
  <style type="text/css">
#imgtest {
 position: absolute;
 top: 100px;
 left: 400px;
 z-index: 1;
}
table {
 left: 100px;
 font-size: 20px;
}
</style>
 </head>
 <body onload="initialize()">
  <div id="imgtest"></div>
  <br />
  <br />
  <table border="1" style="text-align: center;" align="center">
   <thead style="height: 50">
    <td style="WIDTH: 300px">
     商品名称
    </td>
    <td style="WIDTH: 60px">
     图片
    </td>
    <td style="WIDTH: 170px">
     数量
    </td>
    <td style="WIDTH: 170px">
     价格
    </td>
    <td style="WIDTH: 250px">
     小计
    </td>
   </thead>
   <tbody>
    <tr>
     <td class="name">商品1</td>
     <td class="image">
      <img src="1.jpg" width="40px" height="40px" id="image1"/>
     </td>
     <td class="quantity">
      <input id="quantity1" value="1" onblur="total(1);"/>
     </td>
     <td class="price">
      <input type="hidden" id="price1" value="20"/>
      20
     </td>
     <td class="total">
      <span id="smallTotal1"></span> 元
     </td>
    </tr>
    <tr>
     <td class="name">商品2</td>
     <td class="image">
      <img src="1.jpg" width="40px" height="40px" id="image1"/>
     </td>
     <td class="quantity">
      <input id="quantity2" value="2" onblur="total(2);"/>
     </td>
     <td class="price">
      <input type="hidden" id="price2" value="30"/>
      30
     </td>
     <td class="total">
      <span id="smallTotal2"></span> 元
     </td>
    </tr>
    <tr>
     <td colspan="4" class="cart_total">
      <br>
     </td>
     <td>
      <span class="red">总计:</span><span id="total"></span>  元
     </td>
    </tr>
   </tbody>
  </table>
 </body>
</html>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
Mar 28 Javascript
浅谈Javascript中substr和substring的区别
Sep 30 Javascript
Node.js的Koa框架上手及MySQL操作指南
Jun 13 Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
May 20 Javascript
vue 中动态绑定class 和 style的方法代码详解
Jun 01 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
发布一款npm包帮助理解npm的使用
Jan 03 Javascript
小程序数据通信方法大全(推荐)
Apr 15 Javascript
vue elementUI 表单校验功能之数组多层嵌套
Jun 04 Javascript
微信小程序 简易计算器实现代码实例
Sep 02 Javascript
Layui Table js 模拟选中checkbox的例子
Sep 03 Javascript
JavaScript的事件代理和委托实例分析
Mar 25 #Javascript
JS实现简易图片轮播效果的方法
Mar 25 #Javascript
jquery处理页面弹出层查询数据等待操作实例
Mar 25 #Javascript
JavaScript动态添加列的方法
Mar 25 #Javascript
javascript实现复选框选中属性
Mar 25 #Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 #Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
Mar 25 #Javascript
You might like
php实现比较全的数据库操作类
2015/06/18 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
PHP与Web页面交互操作实例分析
2020/06/02 PHP
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
2020/07/21 Javascript
[42:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS OpTic
2018/03/31 DOTA
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
python OpenCV学习笔记直方图反向投影的实现
2018/02/07 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
Python通过4种方式实现进程数据通信
2020/03/12 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
酒店服务与管理毕业生求职信
2013/11/02 职场文书
中学生打架检讨书
2014/02/10 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
2015感人爱情寄语
2015/02/26 职场文书
入党团支部推荐意见
2015/06/02 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
Python读写yaml文件
2022/03/20 Python
室外天线与收音机天线杆接合方法
2022/04/05 无线电
vue route新窗口跳转页面并且携带与接收参数
2022/04/10 Vue.js