www.gusucode.com > mcms手机网站系统 v3.1源码程序 > mcms_v3.1.0/upload/static/libs/basket.wap.js

    var goods_basket=C.cookie.get("goods_basket");
var basketVal={"a1":{},"a2":{},"a3":{},"a4":{},"a5":{},"a6":{}};
if(goods_basket!=''){
    var basketVal=$.evalJSON(C.cookie.get("goods_basket"));
}

var basket = 1; //篮子,默认为 1号篮子
var flagMove = true;// 是否执行运动的标志量
var cur_num=0; //商品数量

//商品数量及总金额统计
function total_all(){
	var total_num = 0; //统计商品总数
	var total_price =0;//统计金额
	for(var item in basketVal){
		var bkStr = JSON.stringify(basketVal[item]);
		if(bkStr !="{}"){
			for(var c_items in basketVal[item])
			{
				total_num += parseInt(basketVal[item][c_items].c);
				total_price += parseInt(basketVal[item][c_items].c) * parseFloat(basketVal[item][c_items].d);
			}
		}
	}
	$('#total_num em').text(total_num);
	$('#total_price em').text(total_price.toFixed(2));
    C.cookie.set("goods_basket",$.toJSON(basketVal));
    join_cart(0,'');
}

//选择篮子
function basket_click(obj){
	basket = $(obj).attr('bk_data_id');//篮子编号
	var bkObjc = $("#basket_view_"+basket+"");
	bkObjc.animate({top:(- (bkObjc.height() + 40)) + 'px'},300).siblings().animate({top:0 + 'px'},50);
	$(obj).addClass('cur_basket').siblings().removeClass('cur_basket');
	$('#footer_pd').css({"padding-bottom":($("#basket_view_"+basket+"").height()  + 95) + 'px'})
}

//商品加减
function cart_num(obj,id){
	cur_num = $(obj).siblings('input.set_num').val();
	if($(obj).hasClass('minusShop')){//减
		cur_num --;
		var c = 'minus';
	}
	if($(obj).hasClass('addShop')){//加
		cur_num ++;
		var c = 'add';
	}
	if(cur_num == 0){
		cur_num = 1;
	}
	var bId = $(obj).siblings('input[type=hidden]').val();
	basketVal['a'+basket]['b'+bId]['c'] = cur_num;
	$(obj).siblings('input.set_num').val(cur_num);
	
	total_all();//统计购物总数及总金额
}

//手动输入,释放按键
function ipt_keyUp(obj){
	//判断输入不为数字
	cur_num = $(obj).val();
	cur_num =cur_num.replace(/[^\d]/g,'');
	if(cur_num=='') cur_num = 1;
	$(obj).val(cur_num);
	var bId = $(obj).siblings('input[type=hidden]').val();
    basket = $(obj).hasClass("basket_child") ? $(obj).attr("basket_vals") : basket;
	basketVal['a'+basket]['b'+bId]['c'] = cur_num;
	$(obj).siblings('input.set_num').val(cur_num);
	total_all();//统计购物总数及总金额
}

//手动输入,失去焦点
function ipt_blur(obj,id){
	cur_num = $(obj).val();
	if(cur_num == '' || cur_num == 0){
		cur_num = 1;
	}
	$(obj).val(cur_num);
	
}

//单个删除
function singleDel(obj){
	var bId = $(obj).siblings('input[type=hidden]').val();
	delete basketVal['a'+basket]['b'+bId];
	var shp_nums = $(obj).closest('.basket_item_ul').find('li').length;
	if(shp_nums <=1){
		$(obj).closest('.basket_view_data').hide().siblings('.lz_null').show();
		$('#basket_data a[bk_data_id='+ basket +']').attr('class','');
	}
	$(obj).closest('li').remove();
	$('#basket_data a').eq(basket-1).click();
	total_all();//统计购物总数及总金额
	
}

//清空篮子
function cart_clear(obj){
	$('#basket_view_'+ basket +'').find('.lz_null').show().next('.basket_view_data').hide();
	$('#basket_view_'+ basket +'').css({top:(- ($("#basket_view_"+basket+"").height() + 40 )) + 'px'});
	$("#basket_data a[bk_data_id="+ basket +"]").removeClass('has_fruits');
	basketVal['a'+ basket] = {};//删除值
	$("#basket_view_"+ basket +" .basket_item_ul").html('');
	total_all();
}

//初始化显示篮子
function show_cart(){
    var json = basketVal;//alert($.toJSON(json));
    var cart_html = '';
    var cart_nav = '';
	var hasBool = false;//判断是否存在数据,false 为空,true 则有数据
    for(i in json) {
        var sts = i.substring(1);
        cart_html+='<div id="basket_view_'+sts+'" class="basket_item ui_c1">';
		if($.toJSON(json[i])=='{}'){
			cart_html+='<p class="lz_null" style="display:block;">篮子是空的</p>';
			cart_html+='<div class="basket_view_data" style="display:none;">';
		}else{
			cart_html+='<p class="lz_null" style="display:none;">篮子是空的</p>';
			cart_html+='<div class="basket_view_data" style="display:block;">';
		}
        cart_html+='	<h4 class="cart_title"><em>'+sts+'</em>号篮子<a href="javascript:void(0);" onclick="cart_clear(this)" class="cart_clear">[清空]</a></h4>';
        cart_html+='	<ul class="basket_item_ul">';
		for (j in json[i]){
			var c = json[i][j].c;//数量
			var d = json[i][j].d;//价格
			var e = json[i][j].e;//名称
			var goods_id = j.substring(1);
			cart_html+='<li class="basketfood_view_'+ goods_id +'"><input type="hidden" value="'+ goods_id +'" /><span class="shop_name">'+ e +'</span><b class="shop_price">'+ d +'</b> <a class="cart_sty i_btn minusShop" onclick="cart_num(this,'+goods_id+');">-</a><input onkeyup="ipt_keyUp(this)" onblur="ipt_blur(this,'+goods_id+');" type="text" class="cart_sty set_num" value="'+c+'"><a class="cart_sty i_btn addShop" onclick="cart_num(this,'+goods_id+');">+</a><a class="rem_cur_shop" onclick="singleDel(this)">×</a></li>';
		}
        cart_html+='	</ul>';
        cart_html+='</div>';
        cart_html+='</div>';
    }
    //alert($("#basket_list").html());
    if(cart_html!='') $("#basket_list").html(cart_html);
    if(cart_nav!='')  $("#basket_data").html(cart_nav);
	for(var i = 1;i<=6; i++){
		if($('#basket_view_'+ i +' .basket_item_ul li').length > 0){
			$("#basket_data a[bk_data_id="+ i +"]").addClass('has_fruits');
		}
	}
	
    total_all();
}
function fun_addShop(obj){//商品飞入购物车
	var cart_ico = $('#cart_ico'),//购物车ico
	sId = $(obj).closest('li').find('#p_id').val(),//商品id
	sShop = $(obj).closest('li').find('.shop_name').text(),//商品名
	sPrice =parseFloat($(obj).closest('li').find('#shop_price').val()).toFixed(2),//产品价格
	sNum = $('#basket_view_'+basket+' .basket_item_ul .basketfood_view_'+ sId +'').find('.set_num').val() == undefined ? 0 : $('#basket_view_'+basket+' .basket_item_ul .basketfood_view_'+ sId +'').find('.set_num').val();
	$("#basket_view_"+basket+" .basket_item_ul li").each(function(){//购物篮数量叠加
		var hidVal = $(this).children("input[type=hidden]").val();
		var curIpt = $(this).find('.set_num');
		var curIptVal = curIpt.val() == "" ? "1" : curIpt.val();
		if(hidVal == sId)
		{
			curIpt.val(parseInt(curIptVal) + 1);
		}
	});
	
	if($("#basket_view_"+basket+" .basket_item_ul li[class $= food_view_"+ sId +"]").length <= 0){
		$("#basket_view_"+basket+" .basket_item_ul").append('<li class="basketfood_view_'+ sId +'"><input type="hidden" value="'+ sId +'" /><span class="shop_name">'+ sShop +'</span><b class="shop_price">'+ sPrice +'</b> <a class="cart_sty i_btn minusShop" onclick="cart_num(this,'+sId+');">-</a><input onkeyup="ipt_keyUp(this)" onblur="ipt_blur(this,'+sId+');" type="text" class="cart_sty set_num" value="1"><a class="cart_sty i_btn addShop" onclick="cart_num(this,'+sId+');">+</a><a class="rem_cur_shop" onclick="singleDel(this)">×</a></li>');
	}

	$("#basket_view_"+basket+"").css({top:(- ($("#basket_view_"+basket+"").height()  + 40)) + 'px'});
	//写入串start
	var akv={},bkv={};
	if(basketVal['a'+basket]==undefined){
		akv['c']=parseInt(sNum) + 1;akv['d']=sPrice;akv['e']=sShop;
		bkv['b'+sId]=akv;
		basketVal['a'+basket]=bkv;
	}else
	{
		akv['c']=parseInt(sNum) + 1;akv['d']=sPrice;akv['e']=sShop;
		basketVal['a'+basket]['b'+sId] = akv;
	}
	//显示篮子容器
	if($('#basket_view_'+ basket +' .basket_item_ul li').length > 0){
		$("#basket_data a[bk_data_id="+ basket +"]").addClass('has_fruits');
		$('#basket_view_'+ basket +' .lz_null').css({display:'none'});
		$('#basket_view_'+ basket +' .basket_view_data').css({display:'block'});
	}
	$('#footer_pd').css({"padding-bottom":($("#basket_view_"+basket+"").height()  + 95) + 'px'})
	total_all();//统计购物总数及总金额
}
$(function(){
    $('#basket_num a,#cart_ico').css({width:($(window).width() / 6) - 1 +'px'});
	//篮子隐藏显示
	$('#cart_ico').on('click',function(){
		var bkObj = $('#basket_view_'+basket);
		if(Math.abs(parseInt(bkObj.css('top'))) < 70){
			$('#basket_view_'+basket).animate({top:(- (bkObj.height() + 40)) + 'px'},100);
		}else{
			$('#basket_view_'+basket).animate({top: '0px'},100);
		}
	});
    show_cart();
});