购物车可能有这样的功能,点击按钮实现商品数量的减少或者增加,并实时计算总的商品价格。
下面通过代码实例介绍一下如何实现此功能,当然下面的效果难登大雅之堂,希望能从中得到一些启发或者相关的知识点,代码实例如下:[HTML] 纯文本查看 复制代码运行代码
蚂蚁部落$(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();
})
单价:1.50 |
单价:3.95 |
总价:
上面的代码实现了简单的购物车功能,下面详细介绍一下它的实现过程。
一.代码注释:
(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());
});
可以遍历文本框并乘以单价,然后进行累加,最后计算出来的总价格。
二.相关阅读:
(1).parent()参阅jQuery parent()方法一章节。
(2).find()参阅jQuery find()方法一章节。
(3).[class*=text_box]参阅jQuery [attribute*=value]一章节。