Задать вопрос
AntonEssential
@AntonEssential

Как решить проблему с isotope на сервере?

Добрый день, помогите пожалуйста решить проблему с isotope, бьюсь уже вторые сутки, не понимаю что я упустил.
Собрал локально шаблон с сеткой isotope и фильтрацией, локально работает во всех браузерах отлично, выгружаю шаблон на сервер и начинается какая-то магия с сеткой, в сафари и некторых браузерах она схлопывается пока не потянешь за край брауезра и только тогда она становиться нормально, и в некторых других браузерах такоеже поведение.
Читал форумы кто-то предлагает в document.ready кто-то на load function вешать, imageLoaded прикручить, проблвал и так и так результат одинаковый, лакольно рабботает на серверое баги какие-то, может это тупо конечно но я спрошу, это может быть из за сервера?

function isotope(){
        heightDetect3();
        var $grid = $('#container').isotope({
            itemSelector: '.shuffle__item',
            layoutMode: 'packery',
            cellsByRow: {
                columnWidth: 200,
                rowHeight: 150
            },
            masonry: {
                columnWidth: '.my-sizer-element'
            }
        })

            // filter functions
        var filterFns = {
          // show if number is greater than 50
            numberGreaterThan50: function() {
                var number = $(this).find('.number').text();
                return parseInt( number, 10 ) > 50;
            },
          // show if name ends with -ium
            ium: function() {
                var name = $(this).find('.name').text();
                return name.match( /ium$/ );
            }
        };
        // bind filter button click
        $('.filter-options').on( 'click', '.side-nav__link', function() {
            var filterValue = $( this ).attr('data-filter');
            // use filterFn if matches value
            filterValue = filterFns[ filterValue ] || filterValue;
            $grid.isotope({ filter: filterValue });
        });
        // change is-checked class on buttons
        $('.filter-options').each( function( i, buttonGroup ) {
            var $buttonGroup = $( buttonGroup );
            $buttonGroup.on( 'click', '.side-nav__link', function() {
                $buttonGroup.find('.active').removeClass('active');
                $( this ).addClass('active');
            });
        });
    }

   
    $(window).on('load', isotope);
  • Вопрос задан
  • 497 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
isotope - это js библиотека, ее логика выполняется в браузере, а не на сервере. Если сервер и виноват, то косвенно, например он отдает корявый html или не грузит библиотеку саму. В любом случае, проблему надо найти в браузере, а потом возможно ее причину на сервере. Дайте ссылку - Вам помогут. Код js без надобности, если он работал локально, то должен работать и на сервере. Так же советую рассмотреть вариант с кешем.
Ответ написан
dummyman
@dummyman
диссидент-схизматик
Style sheet could not be loaded navatsof.vh91.hosterby.com/wp-content/themes/node_...

Далее ругается на $ на 5 строке main.js:
$ is not a function

после этого никакой js не выполняется.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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