...
|
...
|
@@ -4,6 +4,254 @@ |
|
|
* @date: 2015/10/12
|
|
|
*/
|
|
|
|
|
|
// module.exports = function(specificGender) {
|
|
|
// var $ = require('yoho-jquery'),
|
|
|
// Hammer = require('yoho-hammer'),
|
|
|
// ellipsis = require('yoho-mlellipsis'),
|
|
|
// tip = require('../plugin/tip'),
|
|
|
// loading = require('../plugin/loading'),
|
|
|
// lazyLoad = require('yoho-jquery-lazyload');
|
|
|
|
|
|
// var navHammer,
|
|
|
// winH = $(window).height(),
|
|
|
// $goodList = $('#goods-list'),
|
|
|
// searching = false,
|
|
|
// page = 0,
|
|
|
// gender = null,
|
|
|
// num,
|
|
|
// url,
|
|
|
// RECPOSE = '';
|
|
|
|
|
|
// // The kidsType can be specified by the parameter. Add by @ZhaoBiao
|
|
|
// var kidsType = specificGender === 'kids' || $('.mobile-wrap').hasClass('kids-wrap') ? true : false,
|
|
|
// lifestyleType = specificGender === 'lifestyle' ||
|
|
|
// $('.mobile-wrap').hasClass('lifestyle-wrap') ? true : false,
|
|
|
|
|
|
// yohoCoinType = $('.coin').length ? true : false;
|
|
|
// var $curNav,
|
|
|
// index,
|
|
|
// $navList = $('#maybe-like-nav');
|
|
|
|
|
|
// var $footer;
|
|
|
|
|
|
// var bottomBannerLoaded;
|
|
|
|
|
|
// ellipsis.init();
|
|
|
|
|
|
// // ajax url
|
|
|
// if (kidsType) {
|
|
|
|
|
|
// url = '/product/recom/maylikekids';
|
|
|
// } else if (lifestyleType) {
|
|
|
|
|
|
// //有货币页面加载男生首页的数据
|
|
|
// url = specificGender === 'lifestyle' ? '/product/recom/maylike?gender=1,3&rec_pos=100001' : '/product/recom/maylikelife';
|
|
|
// } else if (yohoCoinType) {
|
|
|
|
|
|
// gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ?
|
|
|
// '1,3&rec_pos=100009' : '2,3&rec_pos=100009',
|
|
|
// url = '/product/recom/maylike?gender=' + gender;
|
|
|
// RECPOSE = 110009;
|
|
|
|
|
|
// } else if (logisticType) { //物流页面
|
|
|
// gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ?
|
|
|
// '1,3&rec_pos=100006' : '2,3&rec_pos=100006',
|
|
|
// url = '/product/recom/maylike?gender=' + gender;
|
|
|
// RECPOSE = 110006;
|
|
|
|
|
|
// } else {
|
|
|
// gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ?
|
|
|
// '1,3&rec_pos=100001' : '2,3&rec_pos=100002',
|
|
|
// url = '/product/recom/maylike?gender=' + gender;
|
|
|
// }
|
|
|
|
|
|
|
|
|
// // 首页男生和女生,推荐位ID,埋点
|
|
|
// if (window.location.pathname === '/boys') {
|
|
|
// RECPOSE = 110001;
|
|
|
// } else if (window.location.pathname === '/girls') {
|
|
|
// RECPOSE = 110002;
|
|
|
// }
|
|
|
|
|
|
// $curNav = $navList.children('.focus');
|
|
|
|
|
|
// if (lifestyleType) {
|
|
|
// navHammer = $navList[0] ? new Hammer($navList[0]) : null;
|
|
|
// if (navHammer) {
|
|
|
// navHammer.on('tap', function(e) {
|
|
|
// var $this = $(e.target).closest('li'),
|
|
|
// $goods = $('.goods-list'),
|
|
|
// $content;
|
|
|
|
|
|
// e.preventDefault();
|
|
|
// if ($this.hasClass('focus')) {
|
|
|
// return;
|
|
|
// }
|
|
|
|
|
|
// index = $this.index();
|
|
|
|
|
|
// $this.addClass('focus');
|
|
|
// $curNav.removeClass('focus');
|
|
|
|
|
|
// $goods.not('.hide').addClass('hide');
|
|
|
// $content = $goods.eq(index);
|
|
|
// $content.removeClass('hide');
|
|
|
|
|
|
// $curNav = $this;
|
|
|
|
|
|
// $(document).trigger('scroll'); // Trigger lazyLoad
|
|
|
// e.srcEvent.stopPropagation();
|
|
|
// });
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// loading.init($('.maybe-like'));
|
|
|
|
|
|
// function search() {
|
|
|
// if (searching) {
|
|
|
// return;
|
|
|
// }
|
|
|
// searching = true;
|
|
|
|
|
|
// loading.showLoadingMask();
|
|
|
|
|
|
// // num = $goodList.find('.good-info').length;
|
|
|
// $.ajax({
|
|
|
// type: 'GET',
|
|
|
// url: url,
|
|
|
// data: {
|
|
|
// page: page + 1
|
|
|
// },
|
|
|
// success: function(data) {
|
|
|
// var PRDID = [];
|
|
|
|
|
|
// if (data === ' ') {
|
|
|
// loading.hideLoadingMask();
|
|
|
|
|
|
// // 有货币页面不加载底部
|
|
|
// if (gender && !specificGender) {
|
|
|
// if (bottomBannerLoaded) {
|
|
|
// return;
|
|
|
// }
|
|
|
// url = '/channel/bottomBanner';
|
|
|
// $.ajax({
|
|
|
// type: 'GET',
|
|
|
// url: url,
|
|
|
// data: {
|
|
|
// gender: gender
|
|
|
// },
|
|
|
// success: function(res) {
|
|
|
// res = res.data;
|
|
|
// bottomBannerLoaded = true;
|
|
|
// if (res && res.img) {
|
|
|
// $('#load-more-img').show();
|
|
|
// $('#load-more-img a').attr('href', res.url);
|
|
|
// $('#load-more-img a > img').attr('src', res.img);
|
|
|
// }
|
|
|
// }
|
|
|
// });
|
|
|
|
|
|
// }
|
|
|
// return;
|
|
|
// } else {
|
|
|
// searching = false;
|
|
|
// }
|
|
|
|
|
|
// // 加载到数据后,去除bottom样式,使得footer能够随着页面长度的增加改变位置
|
|
|
// if (data.length > 1) {
|
|
|
// $footer ? null : $footer = $('#yoho-footer');
|
|
|
// $footer.hasClass('bottom') ? $footer.removeClass('bottom') : null;
|
|
|
// }
|
|
|
|
|
|
// num = $goodList.find('.good-info').length;
|
|
|
|
|
|
// $goodList.append(data);
|
|
|
|
|
|
// // 2015/10/31 fei.hong: 修复第一页分页不显示图片的问题
|
|
|
// if (num === 0) {
|
|
|
// lazyLoad($goodList.find('.good-info').find('img.lazy'));
|
|
|
// } else {
|
|
|
// lazyLoad($goodList.find('.good-info:gt(' + (num - 1) + ')').find('img.lazy'));
|
|
|
// }
|
|
|
|
|
|
// loading.hideLoadingMask();
|
|
|
// page++;
|
|
|
|
|
|
// $('.good-detail-text .name').each(function() {
|
|
|
// var $this = $(this),
|
|
|
// $title = $this.find('a');
|
|
|
|
|
|
// $title[0].mlellipsis(2);
|
|
|
// });
|
|
|
|
|
|
// // 为您优选埋点 start
|
|
|
// PRDID = [];
|
|
|
// $(data).closest('.good-info').each(function() {
|
|
|
// PRDID.push($(this).data('id'));
|
|
|
// });
|
|
|
// window.givePoint({
|
|
|
// REC_POSE: RECPOSE,
|
|
|
// PRD_ID: PRDID.join(','),
|
|
|
// PRD_NUM: $(data).closest('.good-info').length,
|
|
|
// ACTION_ID: 0,
|
|
|
// page_num: page
|
|
|
// });
|
|
|
|
|
|
// // 为您优选埋点 end
|
|
|
// },
|
|
|
// error: function() {
|
|
|
// tip.show('网络断开连接了~');
|
|
|
// searching = false;
|
|
|
// loading.hideLoadingMask();
|
|
|
// }
|
|
|
// });
|
|
|
// }
|
|
|
|
|
|
// $('.maybe-like p').on('touchstart', function() {
|
|
|
// search();
|
|
|
// });
|
|
|
|
|
|
// function scrollHandler() {
|
|
|
// if ($(window).scrollTop() + winH >= $(document).height() - 200) {
|
|
|
// search();
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// // 优惠券页面直接加载你可能喜欢。add by @zhaobiao
|
|
|
// if (specificGender) {
|
|
|
// search();
|
|
|
// }
|
|
|
|
|
|
// // srcoll to load more
|
|
|
// $(window).scroll(function() {
|
|
|
// window.requestAnimationFrame(scrollHandler);
|
|
|
// });
|
|
|
|
|
|
// // 为您优选埋点
|
|
|
// $('.maybe-like .goods-list').on('click', 'a', function() {
|
|
|
|
|
|
// var pageNum = 50;
|
|
|
|
|
|
// index = $(this).closest('.good-info').index() + 1;
|
|
|
|
|
|
// window.givePoint({
|
|
|
// REC_POSE: RECPOSE,
|
|
|
// PRD_ID: $(this).closest('.good-info').data('id'),
|
|
|
// PRD_NUM: index % pageNum === 0 ? pageNum : index % pageNum,
|
|
|
// ACTION_ID: 1,
|
|
|
// page_num: Math.ceil(index / pageNum)
|
|
|
// });
|
|
|
// return true;
|
|
|
// });
|
|
|
// };
|
|
|
|
|
|
|
|
|
/**
|
|
|
* “你可能喜欢”模块JS
|
|
|
* @author: liangzhifeng<zhifeng.liang@yoho.cn>
|
|
|
* @date: 2015/10/12
|
|
|
*/
|
|
|
|
|
|
module.exports = function(specificGender) {
|
|
|
var $ = require('yoho-jquery'),
|
|
|
Hammer = require('yoho-hammer'),
|
...
|
...
|
@@ -20,37 +268,55 @@ module.exports = function(specificGender) { |
|
|
gender = null,
|
|
|
num,
|
|
|
url,
|
|
|
RECPOSE = '';
|
|
|
RECPOSE = '110001';
|
|
|
|
|
|
// The kidsType can be specified by the parameter. Add by @ZhaoBiao
|
|
|
//The kidsType can be specified by the parameter. Add by @ZhaoBiao
|
|
|
var kidsType = specificGender === 'kids' || $('.mobile-wrap').hasClass('kids-wrap') ? true : false,
|
|
|
lifestyleType = specificGender === 'lifestyle' ||
|
|
|
$('.mobile-wrap').hasClass('lifestyle-wrap') ? true : false;
|
|
|
|
|
|
$('.mobile-wrap').hasClass('lifestyle-wrap') ? true : false,
|
|
|
yohoCoinType = $('.coin').length ? true : false,
|
|
|
logisticType = $('.logistic-page').length ? true : false;
|
|
|
var $curNav,
|
|
|
index,
|
|
|
$navList = $('#maybe-like-nav');
|
|
|
|
|
|
var $footer;
|
|
|
|
|
|
var bottomBannerLoaded;
|
|
|
|
|
|
ellipsis.init();
|
|
|
|
|
|
// ajax url
|
|
|
//ajax url
|
|
|
if (kidsType) {
|
|
|
|
|
|
url = '/product/recom/maylikekids';
|
|
|
} else if (lifestyleType) {
|
|
|
|
|
|
// 有货币页面加载男生首页的数据
|
|
|
url = specificGender === 'lifestyle' ? '/product/recom/maylike?gender=1,3' : '/product/recom/maylikelife';
|
|
|
//有货币页面加载男生首页的数据
|
|
|
url = specificGender === 'lifestyle' ? '/product/recom/maylike?gender=1,3&rec_pos=100001' : '/product/recom/maylikelife';
|
|
|
} else if (yohoCoinType) {
|
|
|
|
|
|
gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ?
|
|
|
'1,3&rec_pos=100009' : '2,3&rec_pos=100009',
|
|
|
url = '/product/recom/maylike?gender=' + gender;
|
|
|
RECPOSE = 110009;
|
|
|
|
|
|
} else if (logisticType) { //物流页面
|
|
|
gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ?
|
|
|
'1,3&rec_pos=100006' : '2,3&rec_pos=100006',
|
|
|
url = '/product/recom/maylike?gender=' + gender;
|
|
|
RECPOSE = 110006;
|
|
|
|
|
|
} else {
|
|
|
gender = (specificGender === 'boys' || $('.mobile-wrap').hasClass('boys-wrap')) ?
|
|
|
'1,3' : '2,3';
|
|
|
'1,3&rec_pos=100001' : '2,3&rec_pos=100002',
|
|
|
url = '/product/recom/maylike?gender=' + gender;
|
|
|
}
|
|
|
|
|
|
// 首页男生和女生,推荐位ID,埋点
|
|
|
//日韩馆-你可能喜欢的
|
|
|
if ($('.mobile-wrap').hasClass('yoho-channel-page')) {
|
|
|
url = '/product/recom/newPreference?template_id=' + $.queryString().template_id;
|
|
|
}
|
|
|
|
|
|
//首页男生和女生,推荐位ID,埋点
|
|
|
if (window.location.pathname === '/boys') {
|
|
|
RECPOSE = 110001;
|
|
|
} else if (window.location.pathname === '/girls') {
|
...
|
...
|
@@ -60,7 +326,7 @@ module.exports = function(specificGender) { |
|
|
$curNav = $navList.children('.focus');
|
|
|
|
|
|
if (lifestyleType) {
|
|
|
navHammer = $navList[0] ? new Hammer($navList[0]) : null;
|
|
|
navHammer = $navList[0] ? new Hammer($navList[0]) : undefined;
|
|
|
if (navHammer) {
|
|
|
navHammer.on('tap', function(e) {
|
|
|
var $this = $(e.target).closest('li'),
|
...
|
...
|
@@ -83,7 +349,7 @@ module.exports = function(specificGender) { |
|
|
|
|
|
$curNav = $this;
|
|
|
|
|
|
$(document).trigger('scroll'); // Trigger lazyLoad
|
|
|
$(document).trigger('scroll'); //Trigger lazyLoad
|
|
|
e.srcEvent.stopPropagation();
|
|
|
});
|
|
|
}
|
...
|
...
|
@@ -99,7 +365,7 @@ module.exports = function(specificGender) { |
|
|
|
|
|
loading.showLoadingMask();
|
|
|
|
|
|
// num = $goodList.find('.good-info').length;
|
|
|
//num = $goodList.find('.good-info').length;
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: url,
|
...
|
...
|
@@ -108,40 +374,36 @@ module.exports = function(specificGender) { |
|
|
},
|
|
|
success: function(data) {
|
|
|
var PRDID = [];
|
|
|
|
|
|
if (data === ' ') {
|
|
|
searching = false;
|
|
|
loading.hideLoadingMask();
|
|
|
|
|
|
// 有货币页面不加载底部
|
|
|
if (gender && !specificGender) {
|
|
|
if (bottomBannerLoaded) {
|
|
|
return;
|
|
|
if (gender === '1,3') {
|
|
|
url = '/boys/bottomBanner';
|
|
|
} else {
|
|
|
url = '/girls/bottomBanner';
|
|
|
}
|
|
|
url = '/channel/bottomBanner';
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: url,
|
|
|
data: {
|
|
|
gender: gender
|
|
|
},
|
|
|
success: function(res) {
|
|
|
res = res.data;
|
|
|
bottomBannerLoaded = true;
|
|
|
if (res && res.img) {
|
|
|
success: function(data) {
|
|
|
if (data && data.img) {
|
|
|
$('#load-more-img').show();
|
|
|
$('#load-more-img a').attr('href', res.url);
|
|
|
$('#load-more-img a > img').attr('src', res.img);
|
|
|
$('#load-more-img a').attr('href', data.url);
|
|
|
$('#load-more-img a > img').attr('src', data.img);
|
|
|
}
|
|
|
},
|
|
|
error: function() {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
}
|
|
|
return;
|
|
|
} else {
|
|
|
searching = false;
|
|
|
}
|
|
|
|
|
|
// 加载到数据后,去除bottom样式,使得footer能够随着页面长度的增加改变位置
|
|
|
//加载到数据后,去除bottom样式,使得footer能够随着页面长度的增加改变位置
|
|
|
if (data.length > 1) {
|
|
|
$footer ? null : $footer = $('#yoho-footer');
|
|
|
$footer.hasClass('bottom') ? $footer.removeClass('bottom') : null;
|
...
|
...
|
@@ -158,6 +420,7 @@ module.exports = function(specificGender) { |
|
|
lazyLoad($goodList.find('.good-info:gt(' + (num - 1) + ')').find('img.lazy'));
|
|
|
}
|
|
|
|
|
|
searching = false;
|
|
|
loading.hideLoadingMask();
|
|
|
page++;
|
|
|
|
...
|
...
|
@@ -168,20 +431,18 @@ module.exports = function(specificGender) { |
|
|
$title[0].mlellipsis(2);
|
|
|
});
|
|
|
|
|
|
// 为您优选埋点 start
|
|
|
PRDID = [];
|
|
|
//为您优选埋点 start
|
|
|
$(data).closest('.good-info').each(function() {
|
|
|
PRDID.push($(this).data('id'));
|
|
|
});
|
|
|
window.givePoint({
|
|
|
REC_POSE: RECPOSE,
|
|
|
PRD_ID: PRDID.join(','),
|
|
|
PRD_NUM: $(data).closest('.good-info').length,
|
|
|
ACTION_ID: 0,
|
|
|
page_num: page
|
|
|
'REC_POSE': RECPOSE,
|
|
|
'PRD_ID': PRDID.join(','),
|
|
|
'PRD_NUM': $(data).closest('.good-info').length,
|
|
|
'ACTION_ID': 0,
|
|
|
'page_num': RECPOSE === 110009 ? 1 : page
|
|
|
});
|
|
|
|
|
|
// 为您优选埋点 end
|
|
|
//为您优选埋点 end
|
|
|
},
|
|
|
error: function() {
|
|
|
tip.show('网络断开连接了~');
|
...
|
...
|
@@ -191,7 +452,7 @@ module.exports = function(specificGender) { |
|
|
});
|
|
|
}
|
|
|
|
|
|
$('.maybe-like p').on('touchstart', function() {
|
|
|
$('.maybe-like p').on('touchstart', function(e) {
|
|
|
search();
|
|
|
});
|
|
|
|
...
|
...
|
@@ -206,24 +467,21 @@ module.exports = function(specificGender) { |
|
|
search();
|
|
|
}
|
|
|
|
|
|
// srcoll to load more
|
|
|
//srcoll to load more
|
|
|
$(window).scroll(function() {
|
|
|
window.requestAnimationFrame(scrollHandler);
|
|
|
});
|
|
|
|
|
|
// 为您优选埋点
|
|
|
//为您优选埋点 http://redmine.yoho.cn/issues/10116
|
|
|
$('.maybe-like .goods-list').on('click', 'a', function() {
|
|
|
|
|
|
var pageNum = 50;
|
|
|
|
|
|
index = $(this).closest('.good-info').index() + 1;
|
|
|
|
|
|
var index = $(this).closest('.good-info').index() + 1,
|
|
|
pageNum = 50;
|
|
|
window.givePoint({
|
|
|
REC_POSE: RECPOSE,
|
|
|
PRD_ID: $(this).closest('.good-info').data('id'),
|
|
|
PRD_NUM: index % pageNum === 0 ? pageNum : index % pageNum,
|
|
|
ACTION_ID: 1,
|
|
|
page_num: Math.ceil(index / pageNum)
|
|
|
'REC_POSE': RECPOSE,
|
|
|
'PRD_ID': $(this).closest('.good-info').data('id'),
|
|
|
'PRD_NUM': index % pageNum === 0 ? pageNum : index % pageNum,
|
|
|
'ACTION_ID': 1,
|
|
|
'page_num': Math.ceil(index / pageNum)
|
|
|
});
|
|
|
return true;
|
|
|
});
|
...
|
...
|
|