$(function() { getBanner(); getHardCoverList(); /*生成二维码 start */ $("#qrcode").qrcode({ render : "canvas", //设置渲染方式,有table和canvas,使用canvas方式渲染性能相对来说比较好 text : "https://isheji.m.jd.com/jing-list.html", //扫描二维码后显示的内容,可以直接填一个网址,扫描二维码后自动跳向该链接 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(); } }); /*右侧悬浮 返回顶部*/ $('#toUp').click(function (e) { $(window).scrollTop(0); }) /** 二维码 end**/ }); function init(){ $("[data-src]").lazyload({ data_attribute : "src",threshold:400}); $('.design-list').children().children('li').hover(function() { $(this).children('.more-wrap').find('img').each(function() { var _this = $(this); _this.attr('src', _this.attr('data-src')); }); $(this).addClass('item-hover'); }, function() { $(this).removeClass('item-hover'); }); //排列定位 $('.s-item-pos:odd').each(function() { var top = $(this).next('.l-item').get(0).offsetTop + 290; $(this).css({'top': top, 'left': 305}); $(this).prev('.s-item-pos').css('top', top); }); //轮播 function scrollMore(item, h, s) { item.each(function() { var $in = $(this).find('.in'); if($in.length > s) { var length = $in.length - s; } else { $(this).find('.more-wrap').children('.btn').hide(); } var height = h; $in.mouseover(function() { var _this = $(this); var srcStr = _this.find('img').attr('src').replace("s87x63_", "s295x208_"); $in.parents('.more-wrap').siblings('.p-img').find('.p-pic').attr('src', srcStr); }); $(this).find('.prev-btn').click(function() { var slength = $in.parent('.img-list').css('top').length; var top = $in.parent('.img-list').css('top').substring(0, slength-2); if(top > -(length* height)) { if(!$in.parent('.img-list').is(":animated")){ $in.parent('.img-list').animate({ 'top': (top - height) }, 400); } } }); $(this).find('.next-btn').click(function() { var slength = $in.parent('.img-list').css('top').length; var top = parseInt($in.parent('.img-list').css('top').substring(0, slength-2)); if(top < 0) { if(!$in.parent('.img-list').is(":animated")){ $in.parent('.img-list').animate({ 'top': (top + height) }, 400); } } }); }); } scrollMore($('.s-item'), 73, 4); //scrollMore($('.l-item'), 101, 5); getPrice(); } //获取价格 function getPrice(){ $(".p-price").each(function () { var skuIds = $(this).attr("skuids"); var $docm = $(this).children("em"); if (skuIds && skuIds.length > 0) { $.ajax({ url: '//p.3.cn/prices/mgets?skuIds=' + skuIds + '&area=0&type=1', dataType: 'jsonp', success: function (r) { if (r && r.length > 0) { var totalPrice = 0.0; for (var i = 0; i < r.length; i++) { var p = parseFloat(r[i].p); if (p > 0) { totalPrice += p; } } totalPrice = totalPrice.toFixed(2); if (totalPrice > 0) { $($docm).html(totalPrice); } else { $($docm).html("暂无报价"); } } } }); } }); } function getHardCoverList(){ $.ajax({ type: "post", url: "//homeapi.jd.com/api/jz/getHardCoverListDefaultPagePC.do", cache:false, dataType:"jsonp", jsonp:'callback', success:showHardCoverLists }); } //获取banner function getBanner(){ $.ajax({ type: "post", url: "//homeapi.jd.com/api/faner/video/focusPic.do?biz=4&channel=8&ids=361", cache:false, dataType:"jsonp", jsonp:'callback', success:showBanner }); } function showBanner(data){ var htmlStr = '' var htmlStr = '' if(data && data.focusMaps && data.focusMaps.length > 0){ htmlStr = ''; } $("#banner-div").html(htmlStr); } function showHardCoverLists(data){ var htmlStr = ""; if(data.success){ var hardCovers = new Array(); var articles = new Array(); if(data.model && data.model.value && data.model.value.hardCovers){ var hardCoverVOs = data.model.value.hardCovers; for(var i = 0; i < hardCoverVOs.length; i++){ hardCovers.push(new HardCoverVO(hardCoverVOs[i],data.model.imagPathDomain, i + 254).htmlStr); } } if(data.model && data.model.value && data.model.value.collocations){ var articleVOs = data.model.value.collocations; for(var i = 0; i < articleVOs.length; i++){ articles.push(new ArticleVO(articleVOs[i],data.model.imagPathDomain, i + 259).htmlStr); } } htmlStr += getUlLiList(hardCovers, articles); showPage(data.page); } $("#design-list-ul").html(htmlStr); init(); } function getUlLiList(hardCovers, articles){ var htmlStr = ''; //先显示两个整屋 htmlStr += getShiftValueByNum(hardCovers, 2); //4个搭配 htmlStr += getShiftValueByNum(articles, 4); //一个整屋 8个搭配,搭配在左边 if(hardCovers.length > 0){ htmlStr += getShiftValueByNum(articles, 2); htmlStr += getShiftValue(articles).replace('s-item', 's-item s-item-pos'); htmlStr += getShiftValue(articles).replace('s-item', 's-item s-item-pos'); htmlStr += getShiftValue(hardCovers); htmlStr += getShiftValueByNum(articles, 4); }else{ //整屋不够 htmlStr += getAllValues(articles); return htmlStr; } //一个整屋 8个搭配, 搭配在右边 if(hardCovers.length > 0){ htmlStr += getShiftValue(hardCovers); htmlStr += getShiftValueByNum(articles, 8); }else{ //整屋不够 htmlStr += getAllValues(articles); return htmlStr; } //一个整屋 8个搭配,搭配在左边 if(hardCovers.length > 0){ htmlStr += getShiftValueByNum(articles, 2); htmlStr += getShiftValue(articles).replace('s-item', 's-item s-item-pos'); htmlStr += getShiftValue(articles).replace('s-item', 's-item s-item-pos'); htmlStr += getShiftValue(hardCovers); htmlStr += getShiftValueByNum(articles, 4); }else{ //整屋不够 htmlStr += getAllValues(articles); return htmlStr; } return htmlStr; } function getShiftValueByNum(arrays, num){ var str = ''; while(arrays.length > 0 && num > 0){ str += arrays.shift(); num--; } return str; } function getShiftValue(arrays){ if(arrays.length > 0){ return arrays.shift(); } return ''; } function getAllValues(arrays){ var str = ''; for(var i = 0; i < arrays.length; i++){ str += arrays[i]; } return str; } function showPage(page){ if(page && page.totalPage && page.totalPage > 0){ var htmlStr = ''; var curPage = 1; var totalPage = page.totalPage + 1; var innerNum = 2; var edgeNum = 2; var halfNum = Math.ceil(innerNum / 2); var limit = totalPage - innerNum; var startPage = 0; var endPage = Math.min(innerNum, totalPage); if(curPage - 1> halfNum){ startPage = Math.max(Math.min(curPage - 1 - halfNum,limit),0); endPage= Math.min(curPage - 1 + halfNum, totalPage); } //上一页 if(curPage > 1) { var prePage = curPage - 1; htmlStr += '<上一页'; } else{ htmlStr += '<上一页'; } //左侧显示列表页 if(startPage > 0 && edgeNum > 0){ var end = Math.min(edgeNum, startPage); for(var i = 0; i < end; i++){ var j = i + 1; if(j == curPage){ htmlStr += ''+ j +''; }else{ htmlStr += '' + j + ''; } } } //内部连续页 for(var i = startPage; i < endPage; i++){ var j = i + 1; if(j == curPage){ htmlStr += ''+ j +''; }else{ htmlStr += '' + j + ''; } } //右侧列表页 if(endPage < totalPage && edgeNum > 0){ if((totalPage - edgeNum) > endPage){ htmlStr += '...'; } var begin = Math.max(totalPage - edgeNum, endPage); for(var i = begin; i < totalPage; i++){ var j = i + 1; if(j == curPage){ htmlStr += ''+ j +''; }else{ htmlStr += '' + j + ''; } } } if(curPage < totalPage){ var nextPage = curPage + 1 htmlStr += '下一页>'; }else{ htmlStr += '下一页>'; } htmlStr += '共' + totalPage + '页'; $("#ui-pager-div").html(htmlStr); } } function goToPageA(toPage){ location.href = "/hardCoverList.do?hardCoverSize=4&collocationSize=32&scale=4¤tPage=" + (toPage - 1); }