@Grag

JavaScript — почему не выходит функция ресайз?

Пишу функцию центровки блоков, при обновлении все работает, но на $(window).resize не реагирует.

За внешний вид кода строго не судить, я не гуру, по рефактору советы приветствуются.

function SetSize(){
        var container_width = $('.portfolioIn').width();
        container_width = container_width - (container_width%1);
        function _init(){
            var item_width = $('.portfolioItem');
            $(window).resize(function(){

                if($(window).width() <= 400){
                    var margin_for_each = container_width - item_width.width();
                }
                else if($(window).width() <= 540 && $(window).width() >= 400){
                    var margin_area = container_width-item_width.width()*2;
                    margin_for_each = margin_area/2;
                }
                else if($(window).width() <= 600){
                    margin_area = container_width-item_width.width()*2;
                    margin_for_each = margin_area/2;
                }
                else{
                    margin_area = container_width-item_width.width()*3;
                    margin_for_each = margin_area/3;
                }

                margin_for_each = margin_for_each - (margin_for_each%1);
                var margin_one_side = margin_for_each/2;
                margin_one_side = margin_one_side - (margin_one_side%2);

                item_width.css('marginLeft',margin_one_side).css('marginRight',margin_one_side);
            });

            $(window).resize();
        }

        return {
            init: _init
        }
    }

    var setSizing = new SetSize();
    setSizing.init();
  • Вопрос задан
  • 2923 просмотра
Решения вопроса 1
rumkin
@rumkin
$(window).resize(); — не вызывает обработчик, читайте документацию. Замените на $(window).trigger('resize');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы