JavaScript实现购物车计算价格功能

2017-04-07编程教程
271

目的

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

实现思路

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

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

成品样图展示

全部代码(火狐浏览器)


<!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>&nbsp;&nbsp;元
                    </td>
                </tr>
            </tbody>
        </table>

    </body>
</html>

 
The End

相关推荐

layui根据百度地图经纬度在弹出层中显示位置
首先你需要引入百度地图的js script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0ak=你的ak"/script ak ,注意是要浏览器端的ak,这个直接到百度开发者平台申请。 引入layui,这个大家可以到layui官网看看怎么引入layer, 注意:这里要提...
2025-01-09 编程教程
240

Ajax中文传值出现乱码的解决办法
Ajax技术的核心为Javascript,而javascript使用的是UTF-8编码,因此在页面采用GBK或者其他编码,同时没有进行编码转换时,就会出现中文乱码的问题。 以下是分别使用GET和POST方式传值,并且页面采用GBK和UTF-8编码在IE和FF下的不同测试结果和出现乱码时的解...
2022-11-19 编程教程
364

最新JS正则表达式验证手机号码
根据移动、联通、电信的电话号码号段,实现一个简单的正则表达式来验证手机号码: // 手机号校验export function isPhoneNumber(phoneNum) { // let reg = /^[1][3,4,5,7,8,9][0-9]{9}$/; /* * 移动号码包括的号段:134/135/136/137,138,139; * 147/148(物...
2019-12-20 编程教程
218

js代码实现调起微信客户端
此段代码只支持主流浏览器,一些浏览器可能会不支持,比如:百度 代码如下: function openWx(){ locatUrl = weixin://; if(/ipad|iphone|mac/i.test(navigator.userAgent)) { var ifr =document.createElement(iframe); ifr.src = locatUrl; ifr.style.disp...
2019-07-27 编程教程
503

PHP页面实现倒计时定时跳转的方法
文实例讲述了PHP页面实现定时跳转的方法,分享给大家供大家参考。具体实现方法如下: php定时跳转我们需要利用header函数输入html或js代码来实现定时跳转,下面我来介绍一个简单的例子 php代码如下: header(refresh:3;url=https://www.genban.org);print(正...
2019-02-20 编程教程
348

JS实现获取当前URL和来源URL的方法
这篇文章主要介绍了JS实现获取当前URL和来源URL的方法,涉及javascript针对页面document属性操作的相关技巧,需要的朋友可以参考下 index.html: !DOCTYPE htmlhtml lang=zh-cnheadmeta charset=UTF-8meta name=viewport content=width=device-width, initial-...
2019-01-08 编程教程
237