outlet.page.js 2.4 KB
var $ = require('yoho-jquery'),
    Swiper = require('yoho-swiper'),
    lazyLoad = require('yoho-jquery-lazyload'),
    Countdown = require('./outlet/countdown');

var $el = $('.cd-lite');
var $categoryNavItem = $('.outlet-category-nav a');

var search = require('./sale/search');
var iscroll = require('./outlet/nav');

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.length > 0) {
    $el.each(function() {
        new Countdown.Countdown({
            el: $(this)
        });
    });
}

$('.outlet-category-nav').fixNav();

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

$categoryNavItem.on('click', function(e) {
    var query = searchInitParam($(this));

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

    e.preventDefault();

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

// 触发第一个search
if ($categoryNavItem.length > 0) {
    // $categoryNavItem.eq(0).trigger('click');

    search.start({
        type: 'category'
    }, searchInitParam($categoryNavItem.eq(0)));
}

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

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

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

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