...
|
...
|
@@ -14,9 +14,10 @@ var $ = require('yoho-jquery'), |
|
|
|
|
|
var $goodsContainer = $('#goods-container'),
|
|
|
$goodsChildren = $goodsContainer.children(),
|
|
|
$ngc = $($goodsChildren.get(0)),
|
|
|
$pgc = $($goodsChildren.get(1)),
|
|
|
$dgc = $($goodsChildren.get(2));
|
|
|
$coatGc = $($goodsChildren.get(0)),
|
|
|
$trouserGc = $($goodsChildren.get(1)),
|
|
|
$shoesgc = $($goodsChildren.get(2)),
|
|
|
$othergc = $($goodsChildren.get(3));
|
|
|
|
|
|
var winH = $(window).height(),
|
|
|
noResult = '<p class="no-result">未找到相关搜索结果</p>';
|
...
|
...
|
@@ -28,19 +29,25 @@ var $listNav = $('#list-nav'), |
|
|
|
|
|
// 导航数据信息
|
|
|
navInfo = {
|
|
|
newest: {
|
|
|
coat: {
|
|
|
order: 1,
|
|
|
reload: true,
|
|
|
page: 0,
|
|
|
end: false
|
|
|
},
|
|
|
price: {
|
|
|
trouser: {
|
|
|
order: 1,
|
|
|
reload: true,
|
|
|
page: 0,
|
|
|
end: false
|
|
|
},
|
|
|
discount: {
|
|
|
shoes: {
|
|
|
order: 1,
|
|
|
reload: true,
|
|
|
page: 0,
|
|
|
end: false
|
|
|
},
|
|
|
other: {
|
|
|
order: 1,
|
|
|
reload: true,
|
|
|
page: 0,
|
...
|
...
|
@@ -50,7 +57,8 @@ var $listNav = $('#list-nav'), |
|
|
$pre = $listNav.find('.active'), // 纪录进入筛选前的active项,初始为选中项
|
|
|
searching;
|
|
|
|
|
|
var swipers = [];
|
|
|
var swipers = [],
|
|
|
goodsType = ['coat', 'trouser', 'shoes', 'other'];
|
|
|
|
|
|
require('./suspend-cart'); // 悬浮购物车
|
|
|
require('../common');
|
...
|
...
|
@@ -65,6 +73,9 @@ $.each($('.swiper-container'), function(key) { |
|
|
});
|
|
|
});
|
|
|
|
|
|
$.each($listNav.find('li'), function(key, item) {
|
|
|
$(item).addClass(goodsType[key]);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 筛选注册的回调,筛选子项点击后逻辑
|
...
|
...
|
@@ -140,12 +151,14 @@ function search(opt) { |
|
|
|
|
|
|
|
|
// 导航类别
|
|
|
if ($pre.hasClass('new')) {
|
|
|
navType = 'newest';
|
|
|
} else if ($pre.hasClass('price')) {
|
|
|
navType = 'price';
|
|
|
} else if ($pre.hasClass('discount')) {
|
|
|
navType = 'discount';
|
|
|
if ($pre.hasClass('coat')) {
|
|
|
navType = 'coat';
|
|
|
} else if ($pre.hasClass('trouser')) {
|
|
|
navType = 'trouser';
|
|
|
} else if ($pre.hasClass('shoes')) {
|
|
|
navType = 'shoes';
|
|
|
} else {
|
|
|
navType = 'other';
|
|
|
}
|
|
|
|
|
|
nav = navInfo[navType];
|
...
|
...
|
@@ -167,6 +180,8 @@ function search(opt) { |
|
|
searching = true;
|
|
|
loading.showLoadingMask();
|
|
|
|
|
|
console.log(setting);
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: '/product/sale/search',
|
...
|
...
|
@@ -175,19 +190,18 @@ function search(opt) { |
|
|
var $container,
|
|
|
num;
|
|
|
|
|
|
console.log(data);
|
|
|
|
|
|
switch (navType) {
|
|
|
case 'newest':
|
|
|
$container = $ngc;
|
|
|
case 'coat':
|
|
|
$container = $coatGc;
|
|
|
break;
|
|
|
case 'price':
|
|
|
$container = $pgc;
|
|
|
case 'trouser':
|
|
|
$container = $trouserGc;
|
|
|
break;
|
|
|
case 'discount':
|
|
|
$container = $dgc;
|
|
|
case 'shoes':
|
|
|
$container = $shoesgc;
|
|
|
break;
|
|
|
default:
|
|
|
$container = $othergc;
|
|
|
break;
|
|
|
}
|
|
|
|
...
|
...
|
@@ -262,7 +276,7 @@ $listNav.bind('contextmenu', function() { |
|
|
|
|
|
$listNav.on('touchend touchcancel', function(e) {
|
|
|
var $this = $(e.target).closest('li'),
|
|
|
nav;
|
|
|
nav, sortId, navType, $active;
|
|
|
|
|
|
e.preventDefault();
|
|
|
|
...
|
...
|
@@ -288,18 +302,66 @@ $listNav.on('touchend touchcancel', function(e) { |
|
|
filter.showFilter();
|
|
|
}
|
|
|
} else {
|
|
|
if ($this.hasClass('coat')) {
|
|
|
navType = 'coat';
|
|
|
} else if ($this.hasClass('trouser')) {
|
|
|
navType = 'trouser';
|
|
|
} else if ($this.hasClass('shoes')) {
|
|
|
navType = 'shoes';
|
|
|
} else {
|
|
|
navType = 'other';
|
|
|
}
|
|
|
|
|
|
nav = navInfo[navType];
|
|
|
|
|
|
if ($this.hasClass('active')) {
|
|
|
nav.reload = true;
|
|
|
return;
|
|
|
} else {
|
|
|
$this.siblings().removeClass('active');
|
|
|
$active = $this.siblings('.active');
|
|
|
|
|
|
$pre = $this; // $pre为除筛选导航的其他导航项,若当前active的为筛选,则把$pre置为当前点击项
|
|
|
|
|
|
if ($active.hasClass('filter')) {
|
|
|
|
|
|
// 若之前active项为筛选,则隐藏筛选面板
|
|
|
filter.hideFilter();
|
|
|
} else {
|
|
|
|
|
|
// 切换container显示
|
|
|
$goodsContainer.children('.container:not(.hide)').addClass('hide');
|
|
|
|
|
|
switch (navType) {
|
|
|
case 'coat':
|
|
|
$coatGc.removeClass('hide');
|
|
|
break;
|
|
|
|
|
|
case 'trouser':
|
|
|
$trouserGc.removeClass('hide');
|
|
|
break;
|
|
|
|
|
|
case 'shoes':
|
|
|
$shoesgc.removeClass('hide');
|
|
|
break;
|
|
|
default:
|
|
|
$othergc.removeClass('hide');
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$active.removeClass('active');
|
|
|
$this.addClass('active');
|
|
|
sortId = $this.data('id');
|
|
|
$('.swiper-container').hide();
|
|
|
$('#size-swiper-' + $this.index()).show();
|
|
|
swipers[$this.index()].onResize();
|
|
|
}
|
|
|
|
|
|
if (nav.reload) {
|
|
|
search();
|
|
|
search({
|
|
|
type: 'sort',
|
|
|
id: sortId
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
e.stopPropagation();
|
...
|
...
|
@@ -322,7 +384,10 @@ $(window).scroll(function() { |
|
|
});
|
|
|
|
|
|
// 初始请求最新第一页数据
|
|
|
search();
|
|
|
search({
|
|
|
type: 'sort',
|
|
|
id: $('.coat').data('id')
|
|
|
});
|
|
|
|
|
|
$listNav.on('touchstart', 'li', function() {
|
|
|
$(this).addClass('bytouch');
|
...
|
...
|
|