index.js 4.03 KB
/**
 * 个人中心首页
 * @author: xuqi<qi.xu@yoho.cn>
 * @date: 2016/2/17
 */

var $ = require('yoho.jquery');

require('./order-block');

//关闭消息提示
$('#close-message').click(function() {
    $('.message-tip').slideUp(200);
});

/**
 *
 * @param self 点击的控件
 * @param $ul 列表父
 * @param page 总共页数
 * @param itemWith 子元素宽
 * @param curPage 当前页码
 * @param num 一页商品数量
 */
function pageChange(self, $ul, page, itemWith, curPage, num) {
    var $this = self,
        left;

    if ($this.hasClass('next')) {

        //第2页显示前翻按钮
        if (curPage === 2) {
            $this.siblings().removeClass('no-visible');
        }

        //最后一页隐藏后翻按钮
        if (curPage === page) {
            $this.addClass('no-visible');
        }
    } else {

        //倒数第2页显示后翻按钮
        if (curPage === page - 1) {
            $this.siblings().removeClass('no-visible');
        }

        //第1页隐藏前翻按钮
        if (curPage === 1) {
            $this.addClass('no-visible');
        }
    }

    left = -num * (curPage - 1) * itemWith;

    $ul.animate({
        marginLeft: left
    }, 400);
}

//新品上架
(function() {
    var $naPager = $('.na-pager'),
        $rcPager = $('.rc-pager'),
        $naUl = $('.new-arrival ul'),
        $rcUl = $('.recommend ul'),
        naPage = Math.ceil($naUl.children('li').length / 5),
        rcPage = Math.ceil($rcUl.children('li').length / 6),
        naItemWith = $naUl.children('li:last-child').outerWidth(),
        rcItemWith = $rcUl.children('li:last-child').outerWidth(),
        naCurPage = 1,
        rcCurPage = 1,
        PRDID = [];

    $naUl.width($naUl.width() * naPage);
    $rcUl.width($rcUl.width() * rcPage);

    //最新上架翻页
    $naPager.click(function() {
        var $this = $(this);

        if (naPage > 1) {
            if ($this.hasClass('next')) {
                ++naCurPage;
            } else {
                --naCurPage;
            }
            pageChange($this, $naUl, naPage, naItemWith, naCurPage, 5);
        }
    });

    //为你推荐翻页
    $rcPager.click(function() {
        var $this = $(this);

        if (rcPage > 1) {
            if ($this.hasClass('next')) {
                ++rcCurPage;
            } else {
                --rcCurPage;
            }

            PRDID = [];
            $rcUl.find('li').each(function(index) {
                if (PRDID.length >= 6) {
                    return false;
                }

                if (index >= (rcCurPage - 1) * 6) {
                    PRDID.push($(this).find('a').data('id'));
                }
            });

            window.givePoint({
                'REC_POSE': 120004,
                'PRD_ID': PRDID.join(','),
                'PRD_NUM': PRDID.length,
                'ACTION_ID': 0,
                'page_num': rcCurPage
            });

            pageChange($this, $rcUl, rcPage, rcItemWith, rcCurPage, 6);
        }
    });

    //为您优选埋点 start
    setTimeout(function() {
        PRDID = [];
        $rcUl.find('li').each(function(index) {
            if (PRDID.length >= 6) {
                return false;
            }

            if (index >= 0) {
                PRDID.push($(this).find('a').data('id'));
            }
        });

        window.givePoint({
            'REC_POSE': 120004,
            'PRD_ID': PRDID.join(','),
            'PRD_NUM': PRDID.length,
            'ACTION_ID': 0,
            'page_num': 1
        });
    }, 3000);

    $rcUl.find('li a').bind('click', function() {
        var index = $(this).closest('li').index() + 1;
        window.givePoint({
            'REC_POSE': 120004,
            'PRD_ID': $(this).data('id'),
            'PRD_NUM': index % 6 === 0 ? 6 : index % 6,
            'ACTION_ID': 1,
            'page_num': rcCurPage
        });
        return true;
    });
    //为您优选埋点 end

}());