outlet.page.js 2.85 KB
var $ = require('yoho-jquery'),
    Swiper,
    iscroll = require('./outlet/nav'),
    lazyLoad = require('yoho-jquery-lazyload'),
    Countdown;

var $el = $('.cd-lite');
var $categoryNavItem = $('.outlet-category-nav a');
var $moreBtn = $('.more-activity');
var $categoryNav = $('.outlet-category-nav');
var $slider = $('.swiper-container .swiper-slide');
var $topNav = $('#index_nav');

var search = require('./sale/search');

require('./outlet/fix-nav');

lazyLoad($('img.lazy'));

// 搜索条件初始化
function searchInitParam(dom) {
    var href = dom.attr('href'),
        querys = href.split('?')[1].split('&');

    var query = {};

    querys.forEach(function(value) {
        var queryPairs = value.split('='),
            key = queryPairs[0],
            val = queryPairs[1];

        if (key === 'actiontype') {
            return;
        }

        query[key] = val;
    });

    return query;
}

if ($el && $el.length > 0) {
    Countdown = require('./outlet/countdown');

    $el.each(function() {
        new Countdown.Countdown({
            el: $(this)
        });
    });
}
$('.outlet-category-nav').fixNav();
if ($categoryNav && $categoryNav.length > 0) {
    // $categoryNav.fixNav();

    iscroll({
        el: '.outlet-category-nav'
    }).goto(0);
}

if ($slider && $slider.length > 1) {
    Swiper = require('yoho-swiper');

    new Swiper('.swiper-container', {
        lazyLoading: true,
        lazyLoadingInPrevNext: true,
        loop: true,
        autoplay: 3000,
        autoplayDisableOnInteraction: true,
        paginationClickable: true,
        pagination: '.banner-top .pagination-inner'
    });
}

$('.nav-back').on('click', function(e) {
    var channel = window.cookie('_Channel') || 'boys';

    e.preventDefault();

    location.href = '//m.yohobuy.com/' + channel;
});

if ($categoryNavItem && $categoryNavItem.length > 0) {
    $categoryNavItem.on('click', function(e) {
        var query = searchInitParam($(this));

        $('.category a').removeClass('active');
        $(this).addClass('active');

        e.preventDefault();

        search.start({
            type: 'category'
        }, query);
    });

    // 触发第一个search
    search.start({
        type: 'category'
    }, searchInitParam($categoryNavItem.eq(0)));
}

// 导航滚动
if ($topNav && $topNav.length > 0) {
    iscroll({
        el: '#index_nav'
    }).goto($('#index_nav').find('.active').index());
}

// 更多活动按钮
if ($('.back-ground-white').length > 10) {
    $('.more-activity').show();
    $('.back-ground-white').each(function(index, e) {
        if (index > 9) {
            $(e).hide();
        }
    });
}

if ($moreBtn && $moreBtn.length > 0) {
    $moreBtn.click(function() {
        $('.more-activity').hide();
        $('.back-ground-white').each(function(index, e) {
            if (index > 9) {
                $(e).show();
            }
        });
    });
}