new-basket.js 2.43 KB
$(document).ready(function() {
    modalForms();
    closeForms();
    function modalForms() {
        $('body').on('click', '.modal-link', function (e) {
            e.preventDefault();
            var idForm = $(this).data('form');
            var pos = ($(window).scrollTop()) + 30;

            if($(this).hasClass('pos-top')){
                pos = 30;
            }

            $('#overlay').fadeIn(400,
                function(){
                    $('#'+idForm).css('display', 'block').animate({opacity: 1, top: pos}, 200);
                }
            );
        })
    }


    function closeForms() {
        $('#modal_close, #overlay, .close-basket, .basket-close').click( function(){
            $('.forms_, .new-basket-modal').animate({opacity: 0, top: '0'}, 200,function(){
                $(this).css('display', 'none');
                $(this).prev("#overlay").css('display', 'none');
                $('#overlay').fadeOut(400);
            });
            $('#success_form').animate({opacity: 0, top: '0'}, 200,function(){
                $(this).css('display', 'none');
                $(this).prev("#overlay").css('display', 'none');
                $(this).css({top:'50%'});
            });
        });
    }

    $(document).on('click', '.new-btn-modal-basket', showBasket);
    $(document).on('click', '.basket-card', showBasket);

    function showBasket(e) {
        e.preventDefault();

        var idForm = 'new-basket-modal';
        var pos = ($(window).scrollTop()) + 30;

        $('#overlay').fadeIn(400,
            function(){
                $('#'+idForm).css('display', 'block').animate({opacity: 1, top: pos}, 200);
            }
        );
    }


    $(document).on('click', '.quantity-wr span', changeBasket);
    $(document).on('keypress', '.quantity-wr input', setControl);

    function changeBasket(e) {
        e.preventDefault();

        var input = $(this).parent().parent().find('input');
        var oldVal = input.val();
        console.log(oldVal)
        if ($(this).hasClass('minus')) {

            if (oldVal > 1) {
                oldVal--;
                input.val(oldVal);
            }
        } else {
            oldVal++;
            input.val(oldVal);

        }
    }
    function setControl(e) {
        if (e.which == 13) {
            $(this)
                .trigger('change');
            return false;
        } else if (!(e.which == 8 || (e.which > 47 && e.which < 58))) {
            return false;
        }
    }
})