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

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

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


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

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) {
    ajaxActivityTime({
        type: 0, // 获取全部奥莱活动列表, 不区分是否将开始或结束
        yh_channel: window.queryString.yh_channel
    });
}


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();
        }
    });
});

// 页面(包括图片在内)全部加载完才能设置导航悬浮效果,否则位置结算会不准

if (navigator.userAgent.indexOf('UCBrowser') === -1) {
    window.onload = function() {
        $categoryNav.fixNav({
            autoRollTop: true
        });
    };
}