coupons.page.js 2.02 KB
// 不要使用es6
'use strict';

var $ = require('yoho-jquery'),
    Hammer = require('yoho-hammer'),
    ellipsis = require('yoho-mlellipsis'),
    loading = require('../plugin/loading');

var employ,
    statu = 0,
    page = 1,

    // 防止重复请求
    AjaxFlag = 0;

var couponAJAX = function(statu, page) {
    if (AjaxFlag) {
        return;
    }
    AjaxFlag = 1;
    loading.showLoadingMask();
    $.ajax({
        type: 'POST',
        url: '/home/coupons',
        dataType: 'html',
        data: {
            status: statu,
            page: page
        },
        success: function(data) {
            if ($(data).find('.null').html()) {
                page === 1 && $('#employ').append($(data).find('.null'));
                AjaxFlag = 1;
                window.rePosFooter();
                loading.hideLoadingMask();
                return;
            }
            if (!$(data).find('.employ-main').html()) {
                AjaxFlag = 1;
                window.rePosFooter();
                loading.hideLoadingMask();
                return;
            }
            $('#employ').append($(data).find('.employ-main'));
            window.rePosFooter();
            loading.hideLoadingMask();
            AjaxFlag = 0;
        }
    });
};

var scrollHandler = function() {
    if ($(window).scrollTop() + $(window).height() > $('body').height() - 100) {
        page++;
        couponAJAX(statu, page);
        return;
    }
};


require('../common');

ellipsis.init();

$('.yoho-footer').css('border-top', '1px solid #e0e0e0');
$('.employ span').each(function(index) {
    employ = new Hammer($('.employ span')[index]);
    employ.on('tap', function(e) {
        $('.employ span').removeClass('active').eq(index).addClass('active');
        $('#employ').html(' ');
        statu = index;
        page = 1;
        AjaxFlag = 0;
        status === 1 && $('#employ').empty();
        couponAJAX(statu, page);
        window.rePosFooter();
    });
});

$(window).scroll(function() {
    window.requestAnimationFrame(scrollHandler);
});