JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
购物车点击可以减少或者添加商品并自动计算价格:
购物车中可能有这样的功能,那就是点击按钮可以实现商品数量的减少或者增加,并且能够实时的计算出总的商品价格,下面就通过代码实例介绍一下如何实现此功能,当然下面的这个模拟实现的购物车难登大雅之堂,但是可以从中得到一些启发或者相关的知识点,代码如下:
<!DOCTYPEhtml> <html> <head> <metacharset="utf-8"> <title>毛票票</title> <scripttype="text/javascript"src="mytest/jQuery/jquery-1.8.3.js"></script> <scripttype="text/javascript"> $(function(){ $(".add").click(function(){ vart=$(this).parent().find('input[class*=text_box]'); t.val(parseInt(t.val())+1) setTotal(); }) $(".min").click(function(){ vart=$(this).parent().find('input[class*=text_box]'); t.val(parseInt(t.val())-1) if(parseInt(t.val())<0){ t.val(0); } setTotal(); }) functionsetTotal(){ vars=0; $("#tabtd").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> <tableid="tab"> <tr> <td> <span>单价:</span><spanclass="price">1.50</span> <inputclass="min"name=""type="button"value="-"/> <inputclass="text_box"name=""type="text"value="1"/> <inputclass="add"name=""type="button"value="+"/></td> </tr> <tr> <td> <span>单价:</span><spanclass="price">3.95</span> <inputclass="min"name=""type="button"value="-"/> <inputclass="text_box"name=""type="text"value="1"/> <inputclass="add"name=""type="button"value="+"/></td> </tr> </table> <p>总价:<labelid="total"></label></p> </body> </html>
上面的代码实现了简单的购物车功能,下面详细介绍一下它的实现过程。
代码注释:
1.$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
2.$(".add").click(function(){}),为加号按钮注册click事件处理函数。
3.vart=$(this).parent().find('input[class*=text_box]'),获取文本框,这个文本中显示的是要购买商品的数目。
4.t.val(parseInt(t.val())+1),点击一次商品数量加1。
5.setTotal(),执行此函数可以计算出总的价格并且显示。
6.$(".min").click(function(){}),为减号按钮注册click事件处理函数。
7.functionsetTotal(){},此函数可以计算出总价格并且显示出来。
8.vars=0,声明一个变量,此变量用来存储总价格。
9.$("#tabtd").each(function(){
s+=parseInt($(this).find('input[class*=text_box]').val())*parseFloat($(this).find('span[class*=price]').text());
});
可以遍历文本框并乘以单价,然后进行累加,最后计算出来的总价格。