seajs.use([ 'jdf/1.0.0/ui/switchable/1.0.0/switchable', 'jdf/1.0.0/ui/lazyload/1.0.0/lazyload', 'jdf/1.0.0/unit/cookie/1.0.0/cookie', 'jdf/1.0.0/ui/dialog/1.0.0/dialog'], function (switchable, lazyload, cookie, dialog) { // 全局变量 var picSwitchable; // 选中的商品 var selectedItems = []; //促销规则 var promotionRule; // 总价 // var totalPrice = 0; // 全部SKU var allSkus = []; // 价格接口返回的结果 var realPrice = []; var ctrl3d; /* 达人 hover 添加状态 文字改变*/ $('.good-person-detail').hover(function () { $(this).addClass('person-hover'); },function(){ $(this).removeClass('person-hover'); }) /*关注他*/ /*$('#careTa').click(function (e) { if($(this).hasClass('jing-cared')){ /!*这里写ajax*!/ $(this).removeClass('jing-cared'); }else{ /!*这里写ajax*!/ $(this).addClass('jing-cared'); } })*/ /*收藏此攻略*/ /*$('.jing-collect').click(function (e) { if( $(this).hasClass('jing-collected')){ /!*这里写ajax*!/ $(this).removeClass('jing-collected'); }else{ /!*这里写ajax*!/ $(this).addClass('jing-collected'); } })*/ /*点击查看户型大图*/ $('.jing-hu-img img,.jing-hu-scale').click(function (e) { $('.jing-hu-big').show(); }) /*点击 户型大图隐藏 */ $('.jing-big-wrap i').click(function (e) { $('.jing-hu-big').hide(); }) /* 底部 点击返回顶部*/ $('.jing-bottom-up').click(function (e) { $(window).scrollTop(0); }) /* 底部收藏 点击收藏*/ /*$('.jing-bottom-collect').click(function (e) { if ($(this).hasClass('jing-bottom-collected')) { $(this).removeClass('jing-bottom-collected'); } else { /!*这里写ajax*!/ $(this).addClass('jing-bottom-collected'); } })*/ /*右侧悬浮 返回顶部*/ $('#toUp').click(function (e) { $(window).scrollTop(0); }) /*右侧悬浮返回顶部按钮 滚动条滚动到一定位置显示 否则隐藏*/ // showUpIcon(); // function showUpIcon(){ // var top; // setInterval(function () { // top = $(window).scrollTop(); // if(top>900){ // $('#toUp').css("display","block"); // }else{ // } // },100) // // } // 更新实时价格 function resetPrice (skus) { var data = 'J_' + skus.join(',J_'); $.ajax({ url: '//p.3.cn/prices/mgets?type=1&skuIds='+data, dataType: 'jsonp', success: function (result) { if (!result && !result.length) { return false } // 把结果存起来 realPrice = realPrice.concat(result); for (var i = 0; i < result.length; i++) { if (!result[i].id) continue; var sku = result[i].id.replace('J_', ''); var priceNum = result[i].p; if (priceNum <= 0) { $(".sku-item").filter('[data-sku=' + sku + ']').find('.p-price').html('暂无报价'); } else { $(".sku-item").filter('[data-sku=' + sku + ']').find('.p-price').html('¥' + priceNum + ''); } } // 异步价格请求完成后,先计算默认选中的商品 //checkSelect(); checkRoomSum(); } }); } //空间总价计算 function checkRoomSum(){ //取出每个空间的sku,然后去分别遍历,如果均已有价格,计算出总价,等待切换触发 $("#jing_goods .jing-good-ul").each(function(n,f){ var skuArr = $.makeArray($(f).find(".jing-good-item").map(function(m,g){ return $(g).attr("data-sku"); })); var sum = 0; var fail = false; skuArr.forEach(function(h){ var thisPrice=-1; realPrice.forEach(function(y){ if(y.id=="J_"+h){ thisPrice = y.p=="-1.00"?0:parseFloat(y.p); } }); if(thisPrice!=-1){ sum+=thisPrice; }else{ fail = true; return false; } }); if(!fail){ sum = parseFloat(sum).toFixed(2); if(sum!=0){ // console.log("¥"+sum); $(f).attr("data-sum","¥"+sum); } } }); //当前显示的控件进行总价显示 showSumPrice($("#jing_goods .jing-good-ul:visible")); } function showSumPrice($dom){ var sum = $dom.attr("data-sum"); if(sum){ $("#jing_goods .jing-good-title").text("搭配单品(空间总价:"+sum+")"); }else{ $("#jing_goods .jing-good-title").text("搭配单品"); } } // 更新库存 function checkStore (skus) { var data = skus.join(',1;') + ',1'; // 取cookie内的ipLoc-djd var ipLoc = cookie('ipLoc-djd'); var area = ''; // 如果没取到ipLoc-djd,给一个默认值 if (!ipLoc) { area = '1,72,2799,0'; } else { // ipLoc-djd再取前4级地址,格式化 area = ipLoc.split('.')[0].split('-').join(','); } $.ajax({ url: '//ss.jd.com/ss/areaStockState/mget?app=isheji&ch=1&skuNum='+data+'&area='+area, dataType: 'jsonp', success: function (result) { if (result && typeof result != null) { setStore(result); } } }); } // 设置库存 function setStore (result) { $(".same-style-list").find("li").each(function () { var sku = $(this).attr('data-sku'); if( typeof(sku) != "undefined" && typeof(result[sku]) != "undefined" ){ if (+result[sku].b == 1) { if (+result[sku].a == 34) { $(this).find('.btn').addClass("no-goods").html("售罄"); } } } }); // 搭配单品库存处理 $(".jing-good-ul").find("li").each(function () { var sku = $(this).attr('data-sku'); if( typeof(sku) != "undefined" && typeof(result[sku]) != "undefined"){ if (+result[sku].b == 1) { if (+result[sku].a == 34) { $(this).addClass("shou-qin"); } } } }); } //获取url中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) return unescape(r[2]); return null; //返回参数值 } function getPromotionRule(){ $.ajax({ url:"//isheji.jd.com/sales/promotion.action", // url:"//isheji.jd.com/sales/promotion", type:"GET", data:{articleId: $("#hiddn-hardcover-id").val()}, success:function(result){//{"SalesPromotion":[]} if(result.SalesPromotion!=null && result.SalesPromotion.length){ //先检查时间段,如果不在时间段则取消 // var startTime = new Date(promotionRule[0].startTime.replace(/-/g,"/")); // var endTime = new Date(promotionRule[0].startTime.replace(/-/g,"/")); // if(new Date()>startTime||new Date() 0 ? realPrice[i].p : 0); prices.push(parseFloat(realPrice[i].p > 0 ? realPrice[i].p : 0)); } } } var sum = countSum(prices); $('.jing-cart-price').find('em').html('¥'+sum); } function countSum(arr){ if(!arr.length){ $(".jing-cart-sheng").hide(); return 0;//1.都没选中 } if(promotionRule){//促销规则入口 var sum = arr.reduce( function ( a, b ) { return a + b; }); if(promotionRule[0].type==1||promotionRule[0].type==3){//2.满减,用sum去匹配最大满减额度 var promotionNum = 0; //先按照额度做个排序 promotionRule.sort(function(a,b){ return b.satisfy-a.satisfy; }); //从大到小遍历,第一个符合的计算后退出逻辑 for(i=0;i=promotionRule[i].satisfy){ promotionNum = promotionRule[i].favorable; break; } } if(promotionNum>0){ //2.1提示已经满减,满5000-500,满10000-1000,已省230元 $(".jing-cart-sheng em").text("¥"+promotionNum.toFixed(2)).show(); }else{ //2.2清空满减提示 $(".jing-cart-sheng").text("").hide(); } return (sum - promotionNum).toFixed(2); }else{//3.满免,末尾喊价后计算 arr.sort(function(a,b){ return b-a; }); var count = promotionRule[0].satisfy; var pop = promotionRule[0].favorable; var pops = 0; if(arr.length>=count){ for(var j=0;j已选'); } var roomid =$(this).closest(".jz-scence-item").data("roomid"); var $selectedLi=$(this).closest("li"); var anchorname = $selectedLi.closest(".mask").data("anchorname"); var selectedsku = $selectedLi.data("sku"); var selectedImg = $selectedLi.find("img").attr("src"); var selectedName = $selectedLi.find(".tit").children("a").html(); var selectedPrice = $selectedLi.find(".price").html(); console.info("roomid:"+roomid); console.info("anchorname:"+anchorname); console.info("selectedsku:"+selectedsku); console.info("selectedImg:"+selectedImg); console.info("selectedName:"+selectedName); console.info("selectedPrice:"+selectedPrice); // 操作单品列表中商品 replaceListGood(roomid,anchorname,selectedsku,selectedImg,selectedName,selectedPrice,cancleSelected); }) } }); function replaceListGood(roomid,anchorname,sku,img,name,price,cancleSelected){ $("#good-ul-"+roomid).find(".jing-good-item").each(function () { if($(this).data("anchorname") == anchorname ){ if(cancleSelected){ $(this).find(".jing-good-select").removeClass("jing-good-selected"); // 判断是否已添加,删除 deleteCartAnchorGood(roomid,anchorname); }else{ var $targetLi = $(this); $targetLi.data("sku",sku); $targetLi.find("img").attr("src",img); $targetLi.find(".jing-good-name").html(name); $targetLi.find(".jing-good-price").html(price); $targetLi.find(".jing-good-select").addClass("jing-good-selected"); //售罄判断处理 if($targetLi.hasClass("shou-qin")){ $targetLi.removeClass("shou-qin"); } //添加购物车 addPageCart(roomid,anchorname,sku,img,name,price); } } }); } /*生成二维码*/ //var qrcode = new QRCode(document.getElementById("qrcode"), { // width : 62, // height : 62 // }); //var url = window.location.href; //qrcode.makeCode(url); $("#qrcode").qrcode({ render : "canvas", //设置渲染方式,有table和canvas,使用canvas方式渲染性能相对来说比较好 text : "https://isheji.m.jd.com/jing-detail.html?articleId="+$("#hide-hardcover-id").val(), //扫描二维码后显示的内容,可以直接填一个网址,扫描二维码后自动跳向该链接 width : "62", //二维码的宽度 height : "62", //二维码的高度 background : "#ffffff", //二维码的后景色 foreground : "#000000", //二维码的前景色 src: '../img/jd_icon.png' //二维码中间的图片 }); $(window).scroll(function(){ if($(this).scrollTop()>200){ $("#qrcode").closest(".qrcode-wrap").show(); }else{ $("#qrcode").closest(".qrcode-wrap").hide(); } }); /*展开收起已选择商品列表*/ $('.cart-good-show,.jing-cart-text,.jing-cart-more').click(function (e) { $('.cart-good-show').toggleClass('cart-good-hide'); $('.jing-good-wrap').toggle(); $('.jing-cart-list').toggle(); controlMoreTip(); }) /*商品hover 时 显示删除按钮*/ $('.jing-cart-goods, .jing-cart-list').delegate('li','hover',function () { $(this).find('.jing-good-delete').toggle(); // 取消搭配单品页中的选中 }) /*搭配单品主商品点击选中 取消*/ $("#jing_goods").delegate('.jing-good-select', 'click', function(event) { $(this).toggleClass('jing-good-selected'); var $target = $(this); var roomid=$(this).closest(".jing-good-ul").data("roomid"); var $li=$(this).closest("li"); var anchorname=$li.data("anchorname"); var sku=$li.data("sku"); var img=$li.find("img").attr("src"); var goodname=$li.find(".jing-good-name").html(); var price=$li.find(".jing-good-price").html(); if(!$target.hasClass('jing-good-selected')){ deleteCartAnchorGood(roomid,anchorname); controlMoreTip(); }else { addPageCart(roomid,anchorname,sku,img,goodname,price); } }); /*删除所选则商品*/ $(".jing-cart-wrap").delegate(".jing-good-delete","click", function(e) { var $target = $(e.currentTarget); var $parent = $target.parent(); var anchorname=$parent.data("anchorname"); var roomid=$parent.data("roomid"); deleteCartAnchorGood(roomid,anchorname) controlMoreTip(); // 取消搭配单品页中的选中 $("#good-ul-"+roomid).find("li").each(function () { if($(this).data("anchorname") == anchorname){ $(this).find(".jing-good-select").removeClass("jing-good-selected"); } }); }); function addPageCart(roomid,anchorname,sku,img,name,price){ // 显示加购区域 $(".jing-cart-content").show(); // 判断是否已添加,删除 deleteCartAnchorGood(roomid,anchorname); // 添加小图车 var smallItem='
  • ' +'' +'
  • '; if ($(".jing-cart-list").find("li").length < 7){ $(".jing-cart-list").append(smallItem); }else{ if (!$(".jing-cart-list").is(":hidden")){ $(".jing-cart-more").show(); } } // 添加大图车 var bigItem = '
  • ' +'' +'

    '+price+'

    ' +'
  • '; $(".jing-cart-goods").append(bigItem); //购物车变化状态 cartChangeEvent(); } // 控制更多按钮显示隐藏 function controlMoreTip() { if (!$(".jing-cart-list").is(":hidden")){ if ($(".jing-cart-list").find("li").length < 7){ $('.jing-cart-more').hide(); }else{ $('.jing-cart-more').show(); } }else{ $('.jing-cart-more').hide(); } } //删除购物车中锚点的商品 function deleteCartAnchorGood(roomid,anchorname) { $(".cart-sku-anchor").each(function (i,obj) { if($(obj).data("roomid")== roomid && $(obj).data("anchorname")== anchorname){ $(obj).remove(); cartChangeEvent(); } }) } // 获取加入购物车的商品SKU function getCartGoodList() { var skus = []; $(".jing-cart-goods").find("li").each(function (i,obj) { skus.push($(obj).data("sku")); }) return skus; } // 购物车变化事件 function cartChangeEvent() { var skus=getCartGoodList(); //如果商品==0 隐藏加购区域 if(skus.length == 0){ $(".jing-cart-wrap").hide(); }else { $(".jing-cart-wrap").show(); } $(".jing-cart-content").children(".jing-cart-text").html("已选"+skus.length+"件商品"); // 计算价格 calcTotalPrice(skus); } // == 首屏start == var $root = $("#first_screen"); var $spaces = $("#first_screen").find(".jz-spaces"); var moving = false; var cellWidth = 798; var only2 = false; //只有两个空间的时候特殊处理 if ($spaces.find(".jz-scence-item").size() == 2) { only2 = true; } if (only2) { //1.生成menu var $menusWrap = $root.find('.jz-space-names-innerwrap'); $spaces.find(".jz-scence-item").each(function(n, f) { var menu; var roomid=$(this).data("roomid"); if (n == 0) { $menu = $('' + $(this).data("spacename") + ''); } else { $menu = $('' + $(this).data("spacename") + ''); } $menu.click(function() { if($(this).is(".jz-space-name-curr"))return false; if ($(this).index() == 0) { leftClick(); } else { rightClick(); } $root.find(".jz-mask-left-name,.jz-mask-right-name").text($(this).siblings().text()); var $curr = $spaces.find(".jz-scence-item:eq(1)"); showGoodView($curr.data("roomid")); }); $menusWrap.append($menu); $spaces.append($(this).clone()); }); } else { //1.生成menu var $menusWrap = $root.find('.jz-space-names-innerwrap'); $spaces.find(".jz-scence-item").each(function(n, f) { var menu; var roomid=$(this).data("roomid"); if (n == 0) { $menu = $('' + $(this).data("spacename") + ''); } else { $menu = $('' + $(this).data("spacename") + ''); } $menu.click(function() { //菜单点击逻辑 if(moving){ return false } if($(this).is(".jz-space-name-curr"))return false; //1如果点击的是上一个menu,则触发left和事件 if ($(this).is(prevMenu($root.find(".jz-space-name-curr")))) { leftClick(); } else if ($(this).is(nextMenu($root.find(".jz-space-name-curr")))) { //2如果点击的是下一个menu,则触发left和事件 rightClick(); } else { //3如果点击的是跳页,则无动画,需要重置menu状态,但是需要终止动画 $spaces.stop(false,true); $(this).addClass("jz-space-name-curr").siblings().removeClass('jz-space-name-curr'); //调整队列: var $prev = $(f).prev(); if ($prev.length) { $spaces.append($prev.prevAll().sort(function(a, b) { return $(a).index() - $(b).index() })); } else { $spaces.prepend($spaces.find(".jz-scence-item:last")); } $root.find(".jz-mask-left-name").text(prevMenu($(this)).text()); $root.find(".jz-mask-right-name").text(nextMenu($(this)).text()); var $curr = $spaces.find(".jz-scence-item:eq(1)"); showGoodView($curr.data("roomid")); } }); $menusWrap.append($menu); }); } //2重构:默认把最后一个拿到最前面来 $spaces.prepend($spaces.find('.jz-scence-item:last')); //生成3D场景icon及更多图片提示icon按钮 //dom重构end $root.find(".jz-mask-left").bind("click", leftClick); $root.find(".jz-mask-right").bind("click", rightClick); //轮播图左右箭头文字控制 $(".first-screen .jz-mask-left").hover(function(){ $(this).find(".jz-mask-left-name").animate({opacity:1}, 400); },function(){ $(this).find(".jz-mask-left-name").animate({opacity:0}, 400); }); $(".first-screen .jz-mask-right").hover(function(){ $(this).find(".jz-mask-right-name").animate({opacity:1}, 400); },function(){ $(this).find(".jz-mask-right-name").animate({opacity:0}, 400); }); /** 360 浏览器显示补丁**/ function _360DisplayPatch() { $(".first-screen .jz-scence-item:nth-child(2) .scence-btns,.jz-scence-item:nth-child(2) .tags").css("opacity",1); $(".first-screen .jz-scence-item:not(:nth-child(2)) .scence-btns,.jz-scence-item:not(:nth-child(2)) .tags").css("opacity",0); } function leftClick() { //1.向右滚动 if(moving){ return false }else{ moving = true; } moving = true; //刷新页码到上一个焦点 focusMenu(prevMenu($root.find(".jz-space-name-curr"))); // 2.1最后一个clone后在原位置,原dom放到第一个位置,然后浮动定位左边偏移一个占位 var $last = $root.find(".jz-scence-item:last"); var $clone = $last.clone(); $spaces.prepend($last).append($clone); $last.css("margin-left", "-" + cellWidth + "px"); // 2.2执行动画 $spaces.stop(false,true).animate({ "left": cellWidth }, 400, function() { moving = false; // 2.3动画执行完毕 $last.css("margin-left", "0"); //原dom取消偏移 $spaces.css("left", 0); //2.3wrap回位 $clone.remove(); //clone删除 var $curr = $spaces.find(".jz-scence-item:eq(1)"); showGoodView($curr.data("roomid")); }); } function rightClick() { //2.向左滚动 if(moving){ return false }else{ moving = true; } //刷新页码到下一个焦点 focusMenu(nextMenu($root.find(".jz-space-name-curr"))); // 1.1第一个clone放到原来位置,原dom追加到最后 var $first = $root.find(".jz-scence-item:first"); var $clone = $first.clone(); $spaces.prepend($clone).append($first); // 1.2执行动画 $spaces.stop(false,true).animate({ "left": "-" + cellWidth }, 400, function() { moving = false; //1.3动画执行完毕 $spaces.css("left", 0); //wrap回位 $clone.remove(); //clone删除 var $curr = $spaces.find(".jz-scence-item:eq(1)"); showGoodView($curr.data("roomid")); }); } function showGoodView(roomid) { // 360 不显示问题 _360DisplayPatch(); $(".jing-goods .jing-good-ul").hide(); var $currUl = $("#good-ul-"+roomid); $currUl.show().customLazyload(); showSumPrice($currUl); } function focusMenu($dom) { $dom.addClass("jz-space-name-curr").siblings().removeClass("jz-space-name-curr"); $root.find(".jz-mask-left-name").text(prevMenu($dom).text()); $root.find(".jz-mask-right-name").text(nextMenu($dom).text()); } function prevMenu($dom) { return $dom.prev().length ? $dom.prev() : $root.find('.jz-space-name:last'); } function nextMenu($dom) { return $dom.next().length ? $dom.next() : $root.find('.jz-space-name:first'); } function init3D($dom) { //1.卸载已有的全景图 if (ctrl3d) { ctrl3d.destroy(); ctrl3d = undefined; $("#container3d").remove(); } //2.初始化本空间的全景图 var $template = $dom.find(".template"); var $container = $($template.html()); $dom.append($container); var $pond = $container.find(".pond"); //读取点信息 var spots = []; $pond.find(".c3d-hotspot").each(function(n, f) { spots.push({ "pitch": $(this).data("pitch"), "yaw": $(this).data("yaw"), "type": "pannel", "createTooltipArgs": f, "createTooltipFunc": spotHtml }); }); //初始化3D场景 ctrl3d = jdpanorama.viewer('container3d', { "default": { "firstScene": "pond", "sceneFadeDuration": 2000, "autoLoad": true }, "autoRotate": 5, "fallback": "//www.jd.com", "showControls": false, //同时控制上面两项 "pitch": $pond.data("pitch"), //默认方向之上下偏角 "yaw": $pond.data("yaw"), //默认方向之左右偏角 "scenes": { "pond": { "panorama": $pond.data("img"), "hotSpots": spots } }, "ready": function() { // dom重构~注入相关icon // dom重构 var tpl = "" + '
    ' + ' ' + '
    '; var $newPannel = $(tpl); $("#container3d").append($newPannel); get3dPrice($dom); //拉取3D的sku价格 } //, //"onFullScreen":function(){ $("#container3d .c3di-fullctrl").addClass("c3di-isfull"); }, //"onCancelFullScreen":function(){ $("#container3d .c3di-fullctrl").removeClass("c3di-isfull"); } //价格和主图的拉取 }); //暴力全屏 ctrl3d.toggleFullscreen(true); // 更新3D中锚点下商品勾选状态 var roomid=$dom.data("roomid"); var skuMap={}; // 获取购物车在该空间下的商品 $(".jing-cart-goods").find("li").each(function (i,obj) { if($(obj).data("roomid") == roomid){ skuMap[$(obj).data("anchorname")]=$(obj).data("sku"); } }); // 遍历3D下锚点的商品 $dom.find(".c3d-hotspot").each(function () { var anchorName=$(this).find(".c3d-spotname").html(); var sku = $(this).find(".c3dgi-price").data("sku"); if(skuMap[anchorName] == sku){ $(this).find(".c3dg-select").hide(); $(this).find(".c3dg-unselect").show(); } }); //然后初始化3D场景 //交互事件部分: $container.delegate('.c3d-close', 'click', function(event) { //锚点面板的关闭 $(this).closest('.jdpano-pannel').removeClass("curr"); }).delegate('.c3d-hotspot-tit', 'click', function(event) { //锚点的点击 // 1.设置焦点,展示面板 $(this).closest('.jdpano-pannel').addClass("curr").siblings().removeClass("curr"); // 2.调整视角至中间 var yaw = $(this).closest('.c3d-hotspot').data("yaw"); var pitch = $(this).closest('.c3d-hotspot').data("pitch"); if (yaw && pitch) { ctrl3d.setYaw(yaw); ctrl3d.setPitch(pitch); } //3.右边列表的焦点切换 var typeName = $(this).find(".c3d-spotname").text(); // $("#container2d .item span").filter(function(n,f){ return $(f).text()==typeName; }).trigger("click"); //4.停止自动转屏 ctrl3d.stopAutoRotate(); //5.清除提示 // $container.find(".c3d-move").hide(); }).delegate(".c3di-fullctrl", "click", function() { //全屏切换部分 ctrl3d.toggleFullscreen(); }).delegate(".c3dg-select", "click", function() { //3d场景中sku选中,选中是对应列表的锚点上去~ 找这个sku,如果找到了,而且是个选空状态,就触发选中 var roomid=$(this).closest(".jz-scence-item").data("roomid"); var $wrap = $(this).closest('.c3d-hotspot'); var sku3d = $wrap.find(".c3d-goods").data("sku"); var price=$wrap.find(".c3dgi-price").html(); var skuName=$wrap.find(".c3dg-right").children(".c3dg-tit").html(); var skuImg=$wrap.find(".c3dg-img").attr("src") var anchorName=$wrap.find(".c3d-spotname").html(); // var $findsku = $("#products_list .p-current .j_option").filter(function(n,f){ return $(f).data("id") == sku3d; }); // if($findsku.length){ // $findsku.trigger("click"); $(this).hide().siblings('.c3dg-unselect').show(); console.info("select : "+sku3d); replaceListGood(roomid,anchorName,sku3d,skuImg,skuName,price); // } }).delegate(".c3dg-unselect", "click", function() { //3d场景中sku取消选中,选空是找到这个锚点的sku,如果是选中的,而且上面的勾是勾上的,就只触发一下勾即可! $(this).hide().siblings('.c3dg-select').show(); var $wrap = $(this).closest('.c3d-hotspot'); var sku3d = $wrap.find(".c3d-goods").data("sku"); var anchorName=$wrap.find(".c3d-spotname").html(); var roomid=$(this).closest(".jz-scence-item").data("roomid"); // var $findsku = $("#products_list .p-current .j_option:first").filter(function(n,f){ return $(f).data("id") == sku3d; }); // if($findsku.length){ // $findsku.closest(".j_p-tab").find(".j_p-check.checked").trigger("click"); // } console.info("unselect : "+sku3d); deleteCartAnchorGood(roomid,anchorName); }); function spotHtml(div, dom) { div.appendChild(dom); } function get3dPrice($dom) { var $priceDoms=$dom.find(".c3dgi-price"); var skusArr = $.makeArray($priceDoms.map(function() { return $(this).data("sku"); })); if (skusArr.length) { var skusStr = "J_" + skusArr.join(",J_"); $.ajax({ url: "//p.3.cn/prices/mgets?type=1&skuIds=" + skusStr, dataType: "jsonp", success: function(data) { if (!data && !data.length) return false; for (var i = 0; i < data.length; i++) { if (data[i].id) { var sku = data[i].id.replace("J_", ""); var price = data[i].p; $priceDoms.filter("[data-sku=" + sku + "]").html(0 >= price ? "\u6682\u65e0\u62a5\u4ef7" : "¥" + price); } } } }); } } } // == 首屏end == // == 数据关联start == $("#jing_goods").delegate('.jing-good-huan', 'click', function(event) { var $li=$(this).closest("li"); var anchorid=$li.data("anchorid"); var currSku=$li.data("sku"); var selected =$li.find(".jing-good-select").hasClass("jing-good-selected"); var $huanDiv=$(".spot-"+anchorid); // 换品弹出页面状态处理 $huanDiv.find(".item").each(function (i,obj) { console.info(obj); if($(obj).data("sku")== currSku){ // 小图标 /* $(obj).children(".pic-show").append('图中同款');*/ // 按钮样式 var $btn = $(obj).children(".commod-desc").children(".btn"); if(selected){ $btn.addClass("cur").html('已选'); }else if(!$btn.hasClass("no-goods")){ $btn.removeClass("cur").html("选这款"); } }/*else{ $(obj).children(".pic-show").children("i").remove(); }*/ }); $huanDiv.show().customLazyload(); }); // 更多图片事件 var switchCount = 0; $(".more-pics").click(function() { //var roomid=$(this).data("roomid"); //var currPage=1; // 设置选中 ui-switchable-panel-selected // var $item = $("#scroll_pics").find(".scroll-box-item"); // $item.each(function(i,element){ // if(roomid == $(element).data("roomid")){ // currPage=i+1; // return false; // } // }); $("#scroll_pics").show().customLazyload(); if(switchCount == 0) { var arr = []; $('.scroll-box-item').each(function () { var length = $(this).find('.panel').length; var width = $(this).find('.collection-show').outerWidth(); var gap = (780 - width) / 2 - 108 - 5; arr.push(gap); }); picSwitchable = $('.scroll-box').switchable({ type: 'slider', contentClass: 'scroll-box-inner', mainClass: 'scroll-box-item', hasPage: true, seamlessLoop: true, prevClass: 'prev-collection', nextClass: 'next-collection', event: 'click', callback: function (index) { console.log("124123"); // var id = $(this).find('.scroll-box-item').eq(index).attr('data-roomid'); $('.prev-collection').animate({ 'left': arr[index - 1] }, 400); $('.next-collection').animate({ 'right': arr[index - 1] }, 400); getName(index-1, '.prev-collection'); getName(index+1, '.next-collection'); } }); //layer浮层内部交互 $('.scroll-box-item').switchable({ type: 'slider', navItem: 'collection-item', navSelectedClass: 'cur', contentClass: 'scroll-show-pics', mainClass: 'panel', hasPage: true, seamlessLoop: true, prevClass: 'prev', nextClass: 'next', event: 'click', callback: function (index) { $(this.main).parents('.scroll-box-item').find('.pic-page').text(index); } }); } $doms = $("#scroll_pics .scroll-box-item:not(:first):not(:last)"); var index = $doms.index($doms.filter("[data-roomid="+$(".jz-space-name-curr").data("roomid")+"]")); picSwitchable.switchNavTo(index+1); picSwitchable.switchMainTo(index+1); switchCount++; }); $("#first_screen").delegate(".tags .item","hover",function(){ $(this).find("b").toggleClass("on"); }); var windowHeight = $(window).height(); $(".tags .item").bind("click",function(){ var anchorName = $(this).find("span").html(); // 获取点击的空间 var roomid = $(this).closest(".jz-scence-item").data("roomid"); // 设置搭配商品高亮 var $li=$("#good-ul-"+roomid).find("li"); $li.removeClass("clickHover"); $li.each(function (i,obj) { if(anchorName == $(obj).data("anchorname")){ $(obj).addClass("clickHover"); } }); var bottomLine = $(".jing-hu-person").offset().top; if(windowHeight+$(window).scrollTop()'+vo.recommendType+''; } html = html + '
    ' + ' ' + ' ' + ' ' + '
    ' + ' ' + ' '; $("#related").append(html); }); //循环完毕即可拉取价格: //获取整屋总价: if(recommendList.length){ recommendList.forEach(function(obj){ //拿到一个整屋 //1.获取所有sku var skuIds = []; var roomSkus = []; obj.roomSkus.forEach(function(roomObj){ var newArr = []; roomObj.skus.forEach(function(f){ skuIds.push(f.skuId); newArr.push(f.skuId); }); roomSkus.push(newArr); }); // console.log(skuIds); // 2.并发送请求 GetPrice(skuIds.splice(0,100),function(priceObj){ //3.计算 //3.1挂载到对象 var skuobj = {}; priceObj.forEach(function(f){ skuobj[f.id]=f.p!="-1.00"?parseFloat(f.p):0; }); console.log(skuobj); console.log(roomSkus); //3.2遍历二维数组 var sum = 0; roomSkus.forEach(function(f){ f.forEach(function(g){ sum+=skuobj["J_"+g]; }); }); //4.修改dom // console.log("空间总价:¥"+sum.toFixed(2)); $("#price"+obj.hardcoverId).text("搭配商品总价:¥"+sum.toFixed(2)); }); }); } } } }); } function GetPrice (skus,fn) { var data = 'J_' + skus.join(',J_'); $.ajax({ url: '//p.3.cn/prices/mgets?type=1&skuIds='+data, dataType: 'jsonp', success: function (result) { fn(result); } }); } function getHouseName(room, hall, bathroom) { var name; if (room > 0) { name = room + "室"; } if (hall > 0) { name += hall + "厅"; } if (bathroom > 0) { name += bathroom + "卫"; } return name; } function dealHousePicStyle() { // 户型图宽高处理 // 295px 700px var $smallImg=$(".jing-hu-img img"); var $bigImg=$(".jing-big-wrap img"); var src=$smallImg.data("src"); var img = document.createElement("img"); img.onload = function(){ console.log(img.width+"-----"+img.height) if(img.height > img.width){ $smallImg.height("295px"); $bigImg.height("650px"); }else { $smallImg.width("295px"); $bigImg.width("650px"); } $smallImg.attr("src",src); $bigImg.attr("src",src) }; img.src=src; $(".jing-hu-img").show(); } function resetAllPrice(allSkus) { // 循环更新商品价格 var pageSize = 100; var page = Math.floor((allSkus.length + pageSize -1 )/pageSize); for (var i = 1; i <= page ; i++){ console.info(((i-1)*pageSize) +" ----- "+(i*pageSize)); resetPrice(allSkus.slice((i-1)*pageSize,i*pageSize)); } } function checkAllStore(allSkus) { var pageSize = 100; var page = Math.floor((allSkus.length + pageSize -1 )/pageSize); for (var i = 1; i <= page ; i++){ checkStore(allSkus.slice((i-1)*pageSize,i*pageSize)); } } function init() { //控制商品搭配视图 var $curr = $(".jz-spaces").find(".jz-scence-item:eq(1)"); showGoodView($curr.data("roomid")); //3D按钮状态控制。 if(webgl){ $(".jz-scence-item").each(function(n, f) { var $thisSpace = $(this); if($thisSpace.find(".template").length){ $thisSpace.find(".sopts3d-btn").unbind().bind("click",function(){ init3D($thisSpace); }).css("display","inline-block"); } }); } // 处理户型图样式 dealHousePicStyle(); // 当前搭配全部SKU $(".sku-item").each(function () { allSkus.push($(this).attr('data-sku')); }); // 更新价格 resetAllPrice(allSkus); // 查询库存 checkAllStore(allSkus); //查询促销优惠规则 getPromotionRule(); // 初始化加载推荐数据 initLoadRecommendData(); } // 初始化方法 init(); });