[Решено] Scroll Reveal + Ajax

Главные вкладки

Аватар пользователя shevgeny shevgeny 8 октября 2015 в 9:36

Решил чуть оживить сайтик, нашел библиотеку https://github.com/julianlloyd/scrollReveal.js, и к ней даже есть модуль для Drupal — https://www.drupal.org/project/scrollreveal. Когда установил и настроил (настраивается элементарно), счастью не было предела. Но стоило кликнуть на что-нибудь для инициализации ajax-запроса (тот же views с постраничным пейджером через ajax) — радость кончилась.

В последствии выяснилось, что этот модуль вместе с библиотекой ломают нафиг https://www.drupal.org/project/autodialog и половину скриптов.
Демонстрация всего действа на видео:
- при подключении через модуль — http://www.youtube.com/watch?v=Mrsi9MgPKSs,
- при подключении "ручками" — http://www.youtube.com/watch?v=9Y4Sgd4UPrU

Может быть у кого-нибудь есть какие-то мысли?
По идее, нужно как-то постучать в scrollReveal при загрузке через ajax, но как это сделать, не меняя коды модулей…

Предложенные варианты автором библиотеки (https://github.com/jlmakes/scrollReveal.js/issues/125) — не работают.
Буду рад любым конструктивным мыслям или альтернативным вариантам, может есть что-то подобное, но работающее Smile

Комментарии

Аватар пользователя shevgeny shevgeny 8 октября 2015 в 9:51

В дополнении:

Говоря о "подключении ручками" имею в виду подключение в теме через стандартный:

(function($) {
    Drupal.behaviors.ScrollRev = {
        attach: function (context, settings) {
            var config = {
                reset:  true
            }
            window.sr = new scrollReveal( config ).reveal('.views-row').init();
        }
    };
})(jQuery);
Аватар пользователя shevgeny shevgeny 12 октября 2015 в 12:56

Уж не знаю, от куда растут руки и голова у разработчика модуля под Drupal, но всё, что нужно было сделать для работы модуля и библиотеки с подгружаемым контентом и не ломать никаких других скриптов, это заменить в scrollreveal.custom.js:

window.scrollReveal = new scrollReveal( config ); на window.sr = new scrollReveal( config );