Authored by 周少峰

Merge branch 'release/4.4' of http://git.dev.yoho.cn/web/yohobuywap into release/4.4

... ... @@ -6,7 +6,8 @@ var $ = require('jquery'),
IScroll = require('iscroll/iscroll-probe'),
lazyLoad = require('yoho.lazyload'),
Swiper = require('yoho.iswiper'),
activeTab,
bannerSwiper,
multiSwiper,
myScroll,
imgH,
nav1H,
... ... @@ -76,7 +77,6 @@ var $listNav = $('#list-nav'),
}
},
$pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项
$lie = $posList.find('.active'),
searching;
var viewType = 1; // 1-首页,2-上新,3-人气
... ... @@ -107,6 +107,72 @@ if ($('.multi-browse').find('li').size() > 1) {
});
}
function getPageGoods(info) {
if (searching) {
return;
}
searching = true;
$.ajax({
type: 'GET',
url: info.url,
data: info.data,
success: function(data) {
info.callBack(data);
},
error: function() {
alert('网络断开连接了~');
searching = false;
}
});
}
function newData(callback) {
var req = {};
req.url = '/index/search/search';
req.data = {
type: 'newest',
order: '1',
page: '1',
shop_id: $shopId
};
req.callBack = function(data) {
$('#new-arrival').append(data);
navInfo.new.page++;
myScroll.refresh();
lazyLoad($('img.lazy'));
$("#scroller").trigger('scroll');
scH = $('#scroller').outerHeight();
searching = false;
callback && $.isFunction(callback) && callback();
}
getPageGoods(req);
}
function hotData(callback) {
var req = {};
req.url = '/index/search/search';
req.data = {
type: 'sales',
order: '1',
page: '1',
shop_id: $shopId
};
req.callBack = function(data) {
$('#popularity').append(data);
navInfo.hot.page++;
myScroll.refresh();
lazyLoad($('img.lazy'));
$("#scroller").trigger('scroll');
scH = $('#scroller').outerHeight();
searching = false;
callback && $.isFunction(callback) && callback();
}
getPageGoods(req);
}
function tabChange(dom, index) {
var li = dom.eq(index);
... ... @@ -133,11 +199,13 @@ $.jqtab = function(nav, posNav, main) {
$(main).hide();
$('#' + activeTab).fadeIn();
if(activeTab == 'new-arrival'){
if(activeTab === 'new-arrival'){
newData();
} else if(activeTab == 'popularity'){
viewType = 2;
} else if(activeTab === 'popularity'){
hotData();
} else if (activeTab == 'home-page') {
viewType = 2;
} else if (activeTab === 'home-page') {
myScroll && myScroll.refresh();
scH = $('#scroller').outerHeight();
$nav1.removeClass('fixed-top');
... ... @@ -165,79 +233,26 @@ myScroll = new IScroll('#wrapper', {
click: true
});
function getPageGoods(info) {
if (searching) {
return;
}
searching = true;
$.ajax({
type: 'GET',
url: info.url,
data: info.data,
success: function(data) {
info.callBack(data);
$nav1.addClass('hide');
myScroll.scrollTo(0,0);
myScroll.refresh();
scH = $('#scroller').outerHeight();
lazyLoad($('img.lazy'));
searching = false;
},
error: function() {
alert('网络断开连接了~');
searching = false;
}
});
}
function newData() {
var req = {};
req.url = '/index/search/search';
req.data = {
type: 'newest',
order: '1',
page: '1',
shop_id: $shopId
};
req.callBack = function(data) {
$('#new-arrival').append(data);
navInfo.new.page++;
}
getPageGoods(req);
}
function hotData() {
var req = {};
req.url = '/index/search/search';
req.data = {
type: 'sales',
order: '1',
page: '1',
shop_id: $shopId
};
req.callBack = function(data) {
$('#popularity').append(data);
navInfo.hot.page++;
}
getPageGoods(req);
}
myScroll.on('scroll', function() {
sTop = -this.y;
if (sTop + winH * 2 > scH) {
switch(viewType) {
case 2:
newData();
var scrollCall = function() {
$nav1.css({
transform: 'translate(0, ' + (- scH) + 'px)'
});
}
newData(scrollCall);
break;
case 3:
hotData();
var scrollCall = function() {
$nav1.css({
transform: 'translate(0, ' + (- scH) + 'px)'
});
}
hotData(scrollCall);
break;
}
}
... ... @@ -300,7 +315,6 @@ myScroll.on('scroll', function() {
}
}
}
$("#scroller").trigger('scroll');
});
... ... @@ -710,14 +724,6 @@ $('.shop-foot-wrapper').bind('touchstart',function(e){
});
//收藏
$('#collect').bind('touchstart', function() {
if ($('#collect').hasClass('alreadyCollect')) {
cancelShop();
}else{
collectShop();
}
});
function postCollect(info) {
var url = '';
... ... @@ -784,3 +790,12 @@ function cancelShop() {
postCollect(qew);
}
$('#collect').bind('touchstart', function() {
if ($('#collect').hasClass('alreadyCollect')) {
cancelShop();
}else{
collectShop();
}
});
... ...
... ... @@ -119,8 +119,8 @@
<li class="active color" tab="home-page">首页</li>
<li tab="new-arrival">上新</li>
<li tab="popularity">人气</li>
<li>
<a href="{{allGoods}}" target="_blank">全部商品</a>
<li class="all-goods">
<a href="{{allGoods}}">全部商品</a>
</li>
</ul>
... ...