footer.js 4.41 KB
/**
 * 尾部
 * @author: wangqing<robin.wang@yoho.cn>
 * @date: 2015/12/01
 */

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

/**
 * 订阅
 * @return {[type]} [description]
 */
function actionSubscription() {
    var $subscriberBox = $('#subscriberBox'),
        $subscriberBtn = $('#subscriberBtn'),
        emailReg = /^[.\-_a-zA-Z0-9]+@[\-_a-zA-Z0-9]+\.[a-zA-Z0-9]/;
    var subscribeParam = {
        method: 'open.subscriber.subscriber',
        v: 1,
        return_type: 'jsonp',
        open_key: '12345'
    };
    var email = $.trim($subscriberBox.val());
    var params = {};

    $subscriberBox.focus(function() {
        $(this).val('').css('color', '');
        $subscriberBtn.removeClass('done').text('m');
    });

    $subscriberBtn.click(function() {
        if (email !== '' && emailReg.test(email)) {
            $.extend(params, subscribeParam, {
                email: email,
                tmp: Math.random(),
                uid: $.uid('_UID')
            });
            try {
                $.getJSON('http://test.open.yohobuy.com' + '/?callback=?', params, function(data) {
                    if (data.data.result === 1) {
                        $subscriberBox.val('已订阅到:' + email);
                        $subscriberBtn.addClass('done').text('=');
                    } else {
                        $subscriberBox.css('color', 'red');
                    }
                });
            } catch (e) {
                console.log(e.message);
            }
        } else {
            $subscriberBox.css('color', 'red');
        }
    });
}

function change(now, icon, box) {
    var obj = now;
    var index = icon.index(this);
    var offset = index * 3;
    var i;

    box.each(function() {
        $(this).hide();
    });
    for (i = offset; i < offset + 3; i++) {
        box.eq(i).show();
    }
    now.each(function() {
        $(this).children().removeClass('cur').html('o');
    });
    obj.children().addClass('cur').html('O');
}

function actionhomeFootChange() {

    //有货services
    $('#button-services a').click(function() {
        change($(this), $('#button-services a'), $('#foot-services ul li'));
    });

    //更多有货产品
    $('#button-mobile a').click(function() {
        change($(this), $('#button-mobile a'), $('#foot-mobile ul li'));
    });

    //在线调查
    $('#feedbackPage a').click(function() {
        var indexNum;

        $('#feedbackPage').find('a').children('span').removeClass('cur').html('o');
        $(this).children('span').addClass('cur').html('O');
        indexNum = $('#feedbackPage a').index(this);
        $('.vote li').hide();
        $('.vote li').eq(indexNum).show();
    });

    $('.vote li').each(function() {
        var obj = this;
        var index = $(this).index();

        $(this).find('#feedbackBtn').click(function() {
            var params = {};
            var _solution = [];
            var _answer = $(obj).find('#feedback_answer').val();
            var _feedback = $(obj).find('#feedback_id').val();
            var _question = $(obj).find('#question_id').val();

            $(obj).find('input').each(function() {
                if ($(this).attr('checked') === true || $(this).attr('checked') === 'checked') {
                    _solution.push($(this).val());
                }
            });
            params.method = 'open.feedback.submit';
            params.feedback_id = _feedback || 0;
            params.question_id = _question || 0;
            params.answer = _answer || '';
            params.solution = _solution.join(',');
            $.getData(window.apiDomain, params, function(reData) {
                var voteCount;
                var Next;

                if (reData.result === 1) {
                    voteCount = $('.vote li').length - 1;
                    if (index === voteCount) {
                        alert('感谢您的参与!');
                        return false;
                    }
                    Next = index + 1;
                    $('.vote li').eq(index).hide();
                    $('.vote li').eq(Next).show();
                    $('#feedbackPage').children('a').eq(index).children('span').removeClass('cur').html('o');
                    $('#feedbackPage').children('a').eq(Next).children('span').addClass('cur').html('O');
                }
                return false;
            });
        });
    });
}

exports.init = function() {
    actionSubscription(); //执行订阅
    actionhomeFootChange(); //底部事件
};