detail-list.page.js 1.78 KB
/**
 * 星潮教室-明星专题列表
 * @author: wsl<shuiling.wang@yoho.cn>
 * @date: 2016/6/7
 */
let $ = require('yoho-jquery'),
    tip = require('plugin/tip'),
    loading = require('plugin/loading'),
    lazyLoad = require('yoho-jquery-lazyload'),
    ellipsis = require('yoho-mlellipsis');

let $detailList = $('.detail-list'),
    stopLoading = false,
    page = 1;

require('./list-common');

ellipsis.init();

// 翻页
function massageAJAX(pageData) {
    let $this, $title, $cont;

    loading.showLoadingMask();
    $.ajax({
        type: 'GET',
        url: '/guang/star/detailList',
        data: {
            page: pageData,
            tag: $('.detail-list').data('name')
        },
        dataType: 'html',
        success: function(data) {
            stopLoading = false;

            if (data === '') {
                stopLoading = true;
                tip.show('没有更多内容了');
            }

            $('.detail-list').append(data);

            // 限制标题字数
            $('.cont-area').each(function() {
                $this = $(this);
                $title = $this.find('.title');
                $cont = $this.find('.cont-txt');

                $title[0].mlellipsis(2);
                $cont[0].mlellipsis(2);
            });

            lazyLoad($('img.lazy'));
            loading.hideLoadingMask();
        },
        error: function() {
            tip.show('网络断开连接了~');
        }
    });
}

function scrollHandler() {
    if (!stopLoading && ($(window).scrollTop() + $(window).height() > $('body').height() - 100)) {
        stopLoading = true;
        page++;
        massageAJAX(page);
    }
}

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

if ($detailList.find('li').length === 0) {
    massageAJAX(1);
}