Authored by biao

update

{{# nav}}
<nav class="outlet-nav">
<nav class="outlet-nav" id="index_nav">
<ul>
{{#each data}}
<li><a href="{{url}}">{{name}}</a></li>
{{/each}}
<li><a href="outlet/willBeEnd">即将结束</a></li>
<li><a href="outlet/willBeCome">上线预告</a></li>
<li><a href="outlet/willStart">即将结束</a></li>
<li><a href="outlet/willEnd">即将开始</a></li>
</ul>
</nav>
{{/nav}}
... ...
... ... @@ -81,4 +81,4 @@ if (isProduction) {
timeout: 3000
}
});
}
\ No newline at end of file
}
... ...
... ... @@ -4,14 +4,15 @@ var $ = require('yoho-jquery'),
var search = require('./sale/search');
search.setOutLoad(false);
// var nav = require('./outlet/nav');
var iscroll = require('./outlet/nav');
require('./sale/search');
lazyLoad($('img.lazy'));
search.setOutLoad(false);
// nav({
// navClass: '.outlet-nav'
// })
... ... @@ -51,7 +52,7 @@ $('.outlet-category-nav a').on('click', function(e) {
}, query);
});
$('.outlet-category-nav a').eq(0).trigger('click');
// $('.outlet-category-nav a').eq(0).trigger('click');
if (('.outlet-page').length > 0) {
$('.more-activity').on('click', function() {
... ... @@ -71,3 +72,12 @@ if (('.outlet-page').length > 0) {
}
// 导航滚动
iscroll({
el: '#index_nav'
}).goto($('#index_nav').find('.active').index());
iscroll({
el: '#list-nav'
}).goto(0);
... ...
var $ = require('yoho-jquery'),
IScroll = require('yoho-iscroll');
var defaultOpt = {
navClass: '.outlet-nav'
};
// nav 滚动
function initNavScroll(opt) {
var $navBox,
iScroll;
iScroll,
_default = {
el: '.outlet-nav'
},
options;
options = $.extend({}, _default, opt);
$navBox = $(options.el);
function scroll(index) {
var $ele;
$.extend(opt || {}, defaultOpt);
$ele = $navBox.find('li').eq(index);
if ($ele.length > 0) {
setTimeout(function() {
iScroll.scrollToElement($ele[0], 400);
}, 1);
}
}
$navBox = $(opt.navClass);
iScroll = new IScroll($navBox[0], {
scrollX: true,
scrollY: false
});
function scroll(ele) {
var offset;
return {
goto: scroll
};
}
ele = ele || $navBox.find('li').eq(0)[0];
offset = -($navBox.find('ul').width() - 20) / 2;
// 获取url中的参数
function getUrlParam(name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); // 构造一个含有目标参数的正则表达式对象
var r = window.location.search.substr(1).match(reg); // 匹配目标参数
setTimeout(function() {
iScroll.scrollToElement(ele, 400, offset);
}, 1);
// 返回参数值
if (r !== null) {
return decodeURIComponent(r[2]);
} else {
return null;
}
}
$.each($navBox, function(index) {
iScroll = new IScroll($navBox[index], {
scrollX: true,
scrollY: false
});
});
// 选中顶部导航
function activeNav() {
var $nav = $('#index_nav');
var index = getUrlParam('yh_channel');
scroll($navBox.find('.active')[0]);
if (index === null) {
index = 0;
}
$nav.find('li').eq(index).addClass('active').siblings().removeClass('active');
}
activeNav();
module.exports = initNavScroll;
... ...