2019-09-06 23:53:10 +08:00

398 lines
12 KiB
JavaScript
Executable File

$(function(){
$('.goodsImg2').lazyload({ effect: "fadeIn",failurelimit : 10,skip_invisible : false,threshold: 100,placeholder:window.conf.IMGURL+'/'+window.conf.GOODS_LOGO});//商品默认图片
WST.dropDownLayer(".item",".dorp-down-layer");
$('.item-more').click(function(){
if($(this).attr('v')==1){
$('.hideItem').show(300,'swing',function(){
showMoreBtn();
});
$(this).find("span").html("收起");
$(this).find("i").attr({"class":"drop-up"});
$(this).attr('v',0);
}else{
$('.hideItem').hide(300);
$(this).find("span").html("更多选项");
$(this).find("i").attr({"class":"drop-down-icon"});
$(this).attr('v',1);
}
});
$(".item-more").hover(function(){
if($(this).find("i").hasClass("drop-down-icon")){
$(this).find("i").attr({"class":"down-hover"});
}else{
$(this).find("i").attr({"class":"up-hover"});
}
},function(){
if($(this).find("i").hasClass("down-hover")){
$(this).find("i").attr({"class":"drop-down"});
}else{
$(this).find("i").attr({"class":"drop-up"});
}
});
$('.img_list li img').mouseover(function(){
// 商品列表小图切换
$(this).parent().siblings().removeClass('curr');
$(this).parent().addClass('curr');
var oldImgDom = $(this).parent().parent().parent().children('.img').children().children();
oldImgDom.attr('src',this.src.replace('_thumb',''));
})
});
function goodsFilter(obj,vtype){
if(vtype==1){
$('#brand').val($(obj).attr('v'));
}else if(vtype==2){
var price = $(obj).attr('v');
price = price.split('_');
$('#sprice').val(price[0]);
$('#eprice').val(price[1]);
}else if(vtype==3){
$('#v_'+$(obj).attr('d')).val($(obj).attr('v'));
var vs = $('#vs').val();
vs = (vs!='')?vs.split(','):[];
vs.push($(obj).attr('d'));
$('#vs').val(vs.join(','));
}
var ipts = WST.getParams('.sipt');
if(vtype==4)ipts['order']='1';
var params = [];
for(var key in ipts){
if(ipts[key]!='')params.push(key+"="+ipts[key]);
}
location.href=WST.U('home/goods/lists',params.join('&'),true);
}
function goodsOrder(orderby){
if($('#orderBy').val()!=orderby){
$('#order').val(1);
}
$('#orderBy').val(orderby);
goodsFilter(null,0);
}
function removeFilter(id){
if(id!='price'){
$('#'+id).val('');
if(id.indexOf('v_')>-1){
id = id.replace('v_','');
var vs = $('#vs').val();
vs = (vs!='')?vs.split(','):[];
var nvs = [];
for(var i=0;i<vs.length;i++){
if(vs[i]!=id)nvs.push(vs[i]);
}
$('#vs').val(nvs.join(','));
}
}else{
$('#sprice').val('');
$('#eprice').val('');
}
var ipts = WST.getParams('.sipt');
var params = [];
for(var key in ipts){
if(ipts[key]!='')params.push(key+"="+ipts[key]);
}
location.href=WST.U('home/goods/lists',params.join('&'),true);
}
/*搜索列表*/
function searchFilter(obj,vtype){
if(vtype==1){
$('#brand').val($(obj).attr('v'));
}else if(vtype==2){
var price = $(obj).attr('v');
price = price.split('_');
$('#sprice').val(price[0]);
$('#eprice').val(price[1]);
}else if(vtype==3){
$('#v_'+$(obj).attr('d')).val($(obj).attr('v'));
var vs = $('#vs').val();
vs = (vs!='')?vs.split(','):[];
vs.push($(obj).attr('d'));
$('#vs').val(vs.join(','));
}
var ipts = WST.getParams('.sipt');
if(vtype==4)ipts['order']='1';
var params = [];
for(var key in ipts){
if(ipts[key]!='')params.push(key+"="+ipts[key]);
}
location.href=WST.U('home/goods/search',params.join('&'),true);
}
function searchOrder(orderby){
if($('#orderBy').val()!=orderby){
$('#order').val(1);
}
$('#orderBy').val(orderby);
searchFilter(null,0);
}
/*加入购物车*/
$('.goods').hover(function(){
$(this).find('.sale-num').hide();
$(this).find('.p-add-cart').show();
},function(){
$(this).find('.sale-num').show();
$(this).find('.p-add-cart').hide();
})
/*发货地*/
function gpanelOver(obj){
var sid = $(obj).attr("id");
var index = $(obj).attr('c');
var ids = sid.split("_");
var preid = ids[0]+"_"+ids[1];
if(ids[2]==1){
$("li[id^="+preid+"_]").hide();
$("#"+sid).show();
}else if(ids[2]==2){
$('#fl_1_3').hide();
}
$("li[id^="+preid+"_]").removeClass("j-tab-selected"+index);
$("#"+sid).addClass("j-tab-selected"+index);
$("ul[id^="+preid+"_]").hide();
$("#"+sid+"_pl").show();
}
function choiceArea(t,pid){
var areaName = $(t).find('a').html();
var parent = $(t).parent().attr('id');
var ids = parent.split("_");
var preid = "#"+ids[0]+"_"+ids[1]+"_"+ids[2];
if(ids[2]==3){
$(preid).find('a').html(areaName);
// 执行发货地筛选
$('#areaId').val(pid);
var ipts = WST.getParams('.sipt');
var params = [];
for(var key in ipts){
if(ipts[key]!='')params.push(key+"="+ipts[key]);
}
var url = ($(t).attr('search')==1)?'home/goods/search':'home/goods/lists';
location.href=WST.U(url,params.join('&'));
}else{
// 替换当前选中地区
$(preid).find('a').html(areaName);
$(preid).removeClass('j-tab-selected'+ids[1]);
var next = parseInt(ids[2])+1;
var nextid = "#"+ids[0]+"_"+ids[1]+"_"+next;
$(nextid).show();
$(nextid).addClass("j-tab-selected"+ids[1]);
// 替换下级地图标题
$(nextid).html('<a href="javascript:void(0)">请选择</a>');
// 获取下级地区信息
$.post(WST.U('home/areas/listQuery'),{parentId:pid},function(data){
// 判断搜索页面
var search = $(t).attr('search');
if(search==1){search = 'search="1"';}
var json = WST.toJson(data);
if(json.status==1){
var html = '';
$(json.data).each(function(k,v){
html +='<li onclick="choiceArea(this,'+v.areaId+')" '+search+' ><a href="javascript:void(0)">'+v.areaName+'</a></li>';
});
$(nextid+"_pl").html(html);
}
});
// 隐藏当前地区,显示下级地区
var preid = ids[0]+"_"+ids[1];
$("ul[id^="+preid+"_]").hide();
$(nextid+"_pl").show();
}
}
/*************************************** 筛选 ******************************************/
function showMoreBtn(){
// 判断是否需要显示【更多】
$('.item .content').each(function() {
if (this.scrollHeight > 34) {
$(this).parent().find('.extra .extra_more').css({visibility:'visible'});
}
});
}
$(function(){
showMoreBtn();
})
function extra_show(obj){
$(obj).addClass('extra_more_on');
$(obj).parent().parent().find('ul').css({height:'auto'});
$(obj).html('收起<i></i>');
$(obj).attr('onClick','extra_hide(this)');
}
function extra_hide(obj){
// 修改点击事件
$(obj).removeClass('extra_more_on');
$(obj).parent().parent().find('ul').css({height:'30px'});
$(obj).attr('onClick','extra_show(this)');
$(obj).html('更多<i></i>');
}
var _preObj;
function multibox_show(obj,type){
var _topParent = $(obj).parent().parent();
// 显示被隐藏的选项
_topParent.find('ul').css({height:'auto'});
// 给每个li绑定事件
_topParent.find('ul li').each(function(){
$(this).attr('_onclick',$(this).attr('onclick'));
$(this).removeAttr('onclick');
$(this).click(function(){
$(this).toggleClass('selected');
($('li.selected').length>0)?_topParent.find('a.confirm_btn').css({visibility:'visible'}):_topParent.find('a.confirm_btn').css({visibility:'hidden'});
})
})
// 隐藏右侧按钮
$(obj).parent().hide();
// 显示多选盒子
_topParent.addClass('multi_on');
_topParent.append('<div class="multi_btns"><a class="confirm_btn" href="javascript:void(0)" onClick="multi_done(this,\''+type+'\')">确定</a><a onClick="multibox_hide(this)" href="javascript:void(0)">取消</a></div>')
// 隐藏上一个多选盒子
if($('.multi_on').length>1){multibox_hide(_preObj)}
_preObj = obj;
}
// 完成多选
function multi_done(obj,type){
var ids = [],attrId=0;
// 获取选中的值
$(obj).parent().parent().find('ul li.selected').each(function(){
ids.push($(this).attr('v'));
if(type=='attr')attrId = $(this).attr('d');
})
if(ids.length==0){
WST.msg('请选择要筛选的选项');
return false;
}
if(type=='brand'){
$('#brand').val(ids.join(','));
}else if(type=='attr'){
$('#v_'+attrId).val(ids.join('、'));// 属性名称 -> 双卡双4G_电信4G_移动4G
var vs = $('#vs').val();// 属性id【不需要再拼凑】
vs = (vs!='')?vs.split(','):[];
vs.push(attrId);
$('#vs').val(vs.join(','));
}
var ipts = WST.getParams('.sipt');
var params = [];
for(var key in ipts){
if(ipts[key]!='')params.push(key+"="+ipts[key]);
}
location.href=WST.U('home/goods/lists',params.join('&'),true);
}
// 多选隐藏
function multibox_hide(obj){
var _topParent = $(obj).parent().parent();
// 显示被隐藏的选项
_topParent.find('ul').css({height:'30px'});
// 给每个li绑定事件
_topParent.find('ul li').each(function(){
$(this).unbind('click');
$(this).attr('onclick',$(this).attr('_onclick'));
$(this).removeAttr('_onclick');
$(this).removeClass('selected');
})
// 显示右侧按钮
_topParent.find('div.extra').show();
// 隐藏多选盒子
_topParent.removeClass('multi_on');
_topParent.find('div.multi_btns').remove();
// 设置【更多】按钮
var _moreBtn = _topParent.find('a.extra_more');
_moreBtn.removeClass('extra_more_on');
_moreBtn.attr('onClick','extra_show(this)');
_moreBtn.html('更多<i></i>');
}
//对比商品
function contrastGoods(show,id,type){
if(show==1){
$.post(WST.U('home/goods/contrastGoods'),{id:id},function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1){
if(type==2 && json.data)$("#j-cont-frame").addClass('show');
var gettpl = document.getElementById('colist').innerHTML;
laytpl(gettpl).render(json, function(html){
$('#contrastList').html(html);
});
$('.contImg').lazyload({ effect: "fadeIn",failurelimit : 10,skip_invisible : false,threshold: 200,placeholder:window.conf.IMGURL+'/'+window.conf.GOODS_LOGO});//商品默认图片
}else{
WST.msg(json.msg,{icon:2});
}
if(type==1)$("#j-cont-frame").addClass('show');
});
}else{
$("#j-cont-frame").removeClass('show');
}
}
//删除
function contrastDels(id){
$.post(WST.U('home/goods/contrastDel'),{id:id},function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1){
contrastGoods(1,0,1);
}
});
}
//对比商品列表
//滑动
function fixedGoods(){
var offsetTop = $("#goodsTabs").offset().top;
$(window).scroll(function() {
var scrollTop = $(document).scrollTop();
if (scrollTop > offsetTop){
$("#goodsTabs").addClass('goods-fixed');
$("#goodsTabs2").show();
}else{
$("#goodsTabs").removeClass('goods-fixed');
$("#goodsTabs2").hide();
}
});
}
//删除
function contrastDel(id){
$.post(WST.U('home/goods/contrastDel'),{id:id},function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1){
location.href=WST.U('home/goods/contrast');
}
});
}
//筛选条件
function screenContrast(obj,id){
if ($(obj).is(':checked')) {
$(".identical_"+id).addClass('active');
}else{
$(".identical_"+id).removeClass('active');
}
}
//筛选规格
function choiceContrast(obj,itemId,catId,goodsId){
$(obj).addClass('active').siblings('.list-box li').removeClass('active');
$("#defaultSpec_"+goodsId+"_"+catId).val(itemId);
var specIds = [];
$(".defaultSpec_"+goodsId).each(function(){
specIds.push(parseInt($(this).val(),10));
});
specIds.sort(function(a,b){return a-b;});
if(saleSpec.sku[goodsId][specIds.join(':')]){
stock = saleSpec.sku[goodsId][specIds.join(':')].specStock;
marketPrice = saleSpec.sku[goodsId][specIds.join(':')].marketPrice;
goodsPrice = saleSpec.sku[goodsId][specIds.join(':')].specPrice;
}
$('#goods-price-'+goodsId).html('¥ <span>'+goodsPrice+'</span>');
}