Решил чуть оживить сайтик, нашел библиотеку 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) — не работают.
Буду рад любым конструктивным мыслям или альтернативным вариантам, может есть что-то подобное, но работающее
Комментарии
В дополнении:
Говоря о "подключении ручками" имею в виду подключение в теме через стандартный:
Drupal.behaviors.ScrollRev = {
attach: function (context, settings) {
var config = {
reset: true
}
window.sr = new scrollReveal( config ).reveal('.views-row').init();
}
};
})(jQuery);
Уж не знаю, от куда растут руки и голова у разработчика модуля под Drupal, но всё, что нужно было сделать для работы модуля и библиотеки с подгружаемым контентом и не ломать никаких других скриптов, это заменить в scrollreveal.custom.js:
window.scrollReveal = new scrollReveal( config );
наwindow.sr = new scrollReveal( config );