...
|
...
|
@@ -17,6 +17,7 @@ var $ = require('jquery'), |
|
|
scH,
|
|
|
$nav1 = $('#pos-nav'),
|
|
|
$nav2 = $('#pos-list'),
|
|
|
sTop,
|
|
|
isIphone = navigator.userAgent.indexOf('iPhone') > 0 ? true : false;//判断浏览器类型
|
|
|
|
|
|
var tip = require('../plugin/tip'),
|
...
|
...
|
@@ -61,6 +62,166 @@ var $listNav = $('#list-nav'), |
|
|
$pre = $listNav.find('.active'), //纪录进入筛选前的active项,初始为选中项
|
|
|
searching;
|
|
|
|
|
|
//焦点效果
|
|
|
if ($('.banner-swiper').find('li').size() > 1) {
|
|
|
bannerSwiper = new Swiper('.banner-swiper', {
|
|
|
lazyLoading: true,
|
|
|
lazyLoadingInPrevNext: true,
|
|
|
loop: true,
|
|
|
autoplay: 3000,
|
|
|
autoplayDisableOnInteraction: false,
|
|
|
paginationClickable: true,
|
|
|
slideElement: 'li',
|
|
|
pagination: '.banner-top .pagination-inner'
|
|
|
});
|
|
|
}
|
|
|
|
|
|
if ($('.multi-browse').find('li').size() > 1) {
|
|
|
multiSwiper = new Swiper('.multi-browse', {
|
|
|
lazyLoading: true,
|
|
|
lazyLoadingInPrevNext: true,
|
|
|
lazyLoadingOnTransitionStart: true,
|
|
|
grabCursor: true,
|
|
|
slidesPerView: 'auto',
|
|
|
slideElement: 'li',
|
|
|
watchSlidesVisibility: true
|
|
|
});
|
|
|
}
|
|
|
|
|
|
function tabChange(dom, index) {
|
|
|
var li = dom.eq(index),
|
|
|
sortSize = li.find('.iconfont').length;
|
|
|
|
|
|
dom.removeClass('active');
|
|
|
li.addClass('active');
|
|
|
|
|
|
dom.removeClass('color');
|
|
|
li.addClass('color');
|
|
|
}
|
|
|
|
|
|
//首页导航
|
|
|
$.jqtab = function(nav, posNav, main) {
|
|
|
|
|
|
$(nav + ' li, ' + posNav + ' li').on('touchstart', function() {
|
|
|
var index = $(this).index(),
|
|
|
activeTab = $(this).attr('tab');
|
|
|
|
|
|
tabChange($(nav + ' li'), index);
|
|
|
tabChange($(posNav + ' li'), index);
|
|
|
|
|
|
$(main).hide();
|
|
|
$('#' + activeTab).fadeIn();
|
|
|
|
|
|
return false;
|
|
|
});
|
|
|
};
|
|
|
$.jqtab('#nav','#pos-nav','.main');
|
|
|
|
|
|
$('#wrapper').addClass('scroll-wrapper');
|
|
|
lazyLoad($('img.lazy'));
|
|
|
|
|
|
|
|
|
myScroll = new IScroll('#wrapper', {
|
|
|
probeType: 3,
|
|
|
mouseWheel: true,
|
|
|
click: true
|
|
|
});
|
|
|
|
|
|
myScroll.on('scroll', function() {
|
|
|
sTop = -this.y;
|
|
|
|
|
|
if (sTop < imgH) {
|
|
|
if (!$nav1.hasClass('hide')) {
|
|
|
$nav1.addClass('hide');
|
|
|
}
|
|
|
if (!$nav2.hasClass('hide')) {
|
|
|
$nav2.addClass('hide');
|
|
|
} //滑动距离不到导航1
|
|
|
} else if (sTop < imgH + nav1H + main1oH) {
|
|
|
if ($nav1.hasClass('hide')) {
|
|
|
$nav1.removeClass('hide');
|
|
|
}
|
|
|
if (!$nav2.hasClass('hide')) {
|
|
|
$nav2.addClass('hide');
|
|
|
}//滑动距离不到导航2
|
|
|
|
|
|
if (sTop < imgH + main1H) {
|
|
|
if (!$nav1.hasClass('fixed-top')) {
|
|
|
$nav1.addClass('fixed-top')
|
|
|
.removeClass('absolute')
|
|
|
.css({
|
|
|
transform: 'translate(0, ' + (- scH) + 'px)'
|
|
|
});
|
|
|
}
|
|
|
} else if (sTop < imgH + nav1H + main1H) {
|
|
|
if (!$nav1.hasClass('absolute')) {
|
|
|
$nav1.addClass('absolute')
|
|
|
.removeClass('fixed-top');
|
|
|
}
|
|
|
$nav1.css({
|
|
|
transform: 'translate(0, ' + (imgH + main1H - sTop - scH) + 'px)'
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
|
if (!$nav1.hasClass('hide')) {
|
|
|
$nav1.addClass('hide');
|
|
|
}
|
|
|
if ($nav2.hasClass('hide')) {
|
|
|
$nav2.removeClass('hide');
|
|
|
console.log(1)
|
|
|
}
|
|
|
console.log(sTop + '-----' + scH);
|
|
|
|
|
|
if (sTop < scH) {
|
|
|
if (!$nav2.hasClass('fixed-top')) {
|
|
|
$nav2.addClass('fixed-top')
|
|
|
.removeClass('absolute')
|
|
|
.css({
|
|
|
transform: 'translate(0, ' + (- scH) + 'px)'
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
// else {
|
|
|
// if (!$nav2.hasClass('absolute')) {
|
|
|
// $nav1.addClass('absolute')
|
|
|
// .removeClass('fixed-top');
|
|
|
// }
|
|
|
// $nav2.css({
|
|
|
// transform: 'translate(0, ' + (imgH + nav1H + main1oH + main2oH -sTop - scH) + 'px)'
|
|
|
// });
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
$("#scroller").trigger('scroll');
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
document.addEventListener('touchmove', function(e) {
|
|
|
e.preventDefault();
|
|
|
}, false);
|
|
|
|
|
|
if (!isIphone) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
|
|
|
//window onload 后重新refresh iscroll
|
|
|
$(window).load(function() {
|
|
|
myScroll && myScroll.refresh();
|
|
|
imgH = $('#nav-top').outerHeight();
|
|
|
nav1H = $('#nav').outerHeight();
|
|
|
main1H = $('#nav-main').height();
|
|
|
main1oH = $('#nav-main').outerHeight();
|
|
|
nav2H = $('#list-nav').outerHeight();
|
|
|
main2oH = $('#goods-container').outerHeight();
|
|
|
setTimeout(function(){
|
|
|
scH = $('#scroller').outerHeight();
|
|
|
console.log(scH)
|
|
|
},2000);
|
|
|
});
|
|
|
|
|
|
|
|
|
function search(opt) {
|
|
|
var setting = {},
|
|
|
ext,
|
...
|
...
|
@@ -202,6 +363,9 @@ function search(opt) { |
|
|
loading.hideLoadingMask();
|
|
|
|
|
|
window.rePosFooter();
|
|
|
|
|
|
scH = $('#scroller').outerHeight();
|
|
|
console.log(scH)
|
|
|
},
|
|
|
error: function() {
|
|
|
tip.show('网络断开连接了~');
|
...
|
...
|
@@ -334,12 +498,13 @@ $listNav.on('touchend touchcancel', function(e) { |
|
|
});
|
|
|
|
|
|
function scrollHandler() {
|
|
|
|
|
|
|
|
|
//当scroll到1/4$goodsContainer高度后继续请求下一页数据
|
|
|
if ($(window).scrollTop() + winH >
|
|
|
$(document).height() - 0.25 * $goodsContainer.height() - 50) {
|
|
|
myScroll && myScroll.refresh();
|
|
|
|
|
|
if (sTop + winH > $('#scroller').height() - 0.25 * $goodsContainer.height() - 50){
|
|
|
if ($pre !== undefined) {
|
|
|
search();
|
|
|
search();
|
|
|
}
|
|
|
}
|
|
|
}
|
...
|
...
|
@@ -359,169 +524,6 @@ $listNav.on('touchstart', 'li', function(e) { |
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// lazyLoad($('img.lazy'));
|
|
|
//焦点效果
|
|
|
if ($('.banner-swiper').find('li').size() > 1) {
|
|
|
bannerSwiper = new Swiper('.banner-swiper', {
|
|
|
lazyLoading: true,
|
|
|
lazyLoadingInPrevNext: true,
|
|
|
loop: true,
|
|
|
autoplay: 3000,
|
|
|
autoplayDisableOnInteraction: false,
|
|
|
paginationClickable: true,
|
|
|
slideElement: 'li',
|
|
|
pagination: '.banner-top .pagination-inner'
|
|
|
});
|
|
|
}
|
|
|
|
|
|
if ($('.multi-browse').find('li').size() > 1) {
|
|
|
multiSwiper = new Swiper('.multi-browse', {
|
|
|
lazyLoading: true,
|
|
|
lazyLoadingInPrevNext: true,
|
|
|
lazyLoadingOnTransitionStart: true,
|
|
|
grabCursor: true,
|
|
|
slidesPerView: 'auto',
|
|
|
slideElement: 'li',
|
|
|
watchSlidesVisibility: true
|
|
|
});
|
|
|
}
|
|
|
|
|
|
function tabChange(dom, index) {
|
|
|
var li = dom.eq(index),
|
|
|
sortSize = li.find('.iconfont').length;
|
|
|
|
|
|
dom.removeClass('active');
|
|
|
li.addClass('active');
|
|
|
|
|
|
dom.removeClass('color');
|
|
|
li.addClass('color');
|
|
|
}
|
|
|
|
|
|
//首页导航
|
|
|
$.jqtab = function(nav, posNav, main) {
|
|
|
|
|
|
$(nav + ' li, ' + posNav + ' li').on('touchstart', function() {
|
|
|
var index = $(this).index(),
|
|
|
activeTab = $(this).attr('tab');
|
|
|
|
|
|
tabChange($(nav + ' li'), index);
|
|
|
tabChange($(posNav + ' li'), index);
|
|
|
|
|
|
$(main).hide();
|
|
|
$('#' + activeTab).fadeIn();
|
|
|
|
|
|
return false;
|
|
|
});
|
|
|
};
|
|
|
$.jqtab('#nav','#pos-nav','.main');
|
|
|
|
|
|
$(function(){
|
|
|
|
|
|
$('#wrapper').addClass('scroll-wrapper');
|
|
|
lazyLoad($('img.lazy'));
|
|
|
|
|
|
setTimeout(function(){
|
|
|
myScroll = new IScroll('#wrapper', {
|
|
|
probeType: 3,
|
|
|
mouseWheel: true,
|
|
|
click: true
|
|
|
});
|
|
|
|
|
|
// lazyLoad($('img.lazy'), {
|
|
|
// container: $("#scroller")
|
|
|
// });
|
|
|
|
|
|
myScroll.on('scroll', function() {
|
|
|
var sTop = -this.y;
|
|
|
|
|
|
if (sTop < imgH) {
|
|
|
if (!$nav1.hasClass('hide')) {
|
|
|
$nav1.addClass('hide');
|
|
|
}
|
|
|
if (!$nav2.hasClass('hide')) {
|
|
|
$nav2.addClass('hide');
|
|
|
} //滑动距离不到导航1
|
|
|
} else if (sTop < imgH + nav1H + main1oH) {
|
|
|
if ($nav1.hasClass('hide')) {
|
|
|
$nav1.removeClass('hide');
|
|
|
}
|
|
|
if (!$nav2.hasClass('hide')) {
|
|
|
$nav2.addClass('hide');
|
|
|
}//滑动距离不到导航2
|
|
|
|
|
|
if (sTop < imgH + main1H) {
|
|
|
if (!$nav1.hasClass('fixed-top')) {
|
|
|
$nav1.addClass('fixed-top')
|
|
|
.removeClass('absolute')
|
|
|
.css({
|
|
|
transform: 'translate(0, ' + (- scH) + 'px)'
|
|
|
});
|
|
|
}
|
|
|
} else if (sTop < imgH + nav1H + main1H) {
|
|
|
if (!$nav1.hasClass('absolute')) {
|
|
|
$nav1.addClass('absolute')
|
|
|
.removeClass('fixed-top');
|
|
|
}
|
|
|
$nav1.css({
|
|
|
transform: 'translate(0, ' + (imgH + main1H - sTop - scH) + 'px)'
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
|
if (!$nav1.hasClass('hide')) {
|
|
|
$nav1.addClass('hide');
|
|
|
}
|
|
|
if ($nav2.hasClass('hide')) {
|
|
|
$nav2.removeClass('hide');
|
|
|
}
|
|
|
|
|
|
if (sTop < imgH + nav1H + main1oH + nav2H + main2oH) {
|
|
|
if (!$nav2.hasClass('fixed-top')) {
|
|
|
$nav2.addClass('fixed-top')
|
|
|
.removeClass('absolute')
|
|
|
.css({
|
|
|
transform: 'translate(0, ' + (- scH) + 'px)'
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
|
if (!$nav2.hasClass('absolute')) {
|
|
|
$nav1.addClass('absolute')
|
|
|
.removeClass('fixed-top');
|
|
|
}
|
|
|
$nav2.css({
|
|
|
transform: 'translate(0, ' + (imgH + nav1H + main1oH + main2oH -sTop - scH) + 'px)'
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$("#scroller").trigger('scroll');
|
|
|
});
|
|
|
}, 1000)
|
|
|
|
|
|
|
|
|
document.addEventListener('touchmove', function(e) {
|
|
|
e.preventDefault();
|
|
|
}, false);
|
|
|
|
|
|
if (!isIphone) {
|
|
|
return;
|
|
|
}
|
|
|
})
|
|
|
|
|
|
//window onload 后重新refresh iscroll
|
|
|
$(window).load(function() {
|
|
|
myScroll && myScroll.refresh();
|
|
|
imgH = $('#nav-top').outerHeight();
|
|
|
nav1H = $('#nav').outerHeight();
|
|
|
main1H = $('#nav-main').height();
|
|
|
main1oH = $('#nav-main').outerHeight();
|
|
|
nav2H = $('#list-nav').outerHeight();
|
|
|
main2oH = $('#goods-container').outerHeight();
|
|
|
scH = $('#scroller').outerHeight();
|
|
|
});
|
|
|
|
|
|
//底部导航点击
|
|
|
function fotterClick(group) {
|
|
|
$(group + ' li').on('touchstart', function() {
|
...
|
...
|
|