$(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 += '';
}else{
htmlStr += '' + j + '';
}
}
}
//内部连续页
for(var i = startPage; i < endPage; i++){
var j = i + 1;
if(j == curPage){
htmlStr += '';
}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 += '';
}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);
}