kunitsyndenis
@kunitsyndenis
motive.cafe

Работа с Barba.js, как перезапустить скрипты к новому DOM?

Всем привет, есть кто давно с barba.js работает? Суть в чем, есть сайт, подключено много скриптов в том числе barba и owl.
Все отлично работает, НО когда обновляется DOM внутри data-barba="container", то скрипты перестают работать, точнее я так думаю они просто не видят новый DOM. Есть код:

<body data-barba="wrapper">
<main data-barba="container" data-barba-namespace="home">
<div class="carousel-wrapper"> <!-- ТУТ КОНТЕНТ КАРУСЕЛИ --> </div>
</main>
</body>


При первой загрузке все работает, но после перехода на другую страницу и обратно, меняется контент внутри главного контейнера и скрипты от owl перестаю видеть новый DOM, как перезапустить скрипты после каждого перехода по страницам? В документации плагина не нашел...

Собственно в интернете нашел много решений, но почему то они не помогают, возможно причина в версии плагина, метод
Barba.Dispatcher.on('newPageReady', function(currentStatus, oldStatus, container) {
  // Re-init your scripts here.
});

не помогает, скрипты просто перестают вовсе работать.
  • Вопрос задан
  • 599 просмотров
Решения вопроса 1
kunitsyndenis
@kunitsyndenis Автор вопроса
motive.cafe
Если кому понадобится, в новых версиях barba v2 нужно использовать
barba.hooks.beforeEnter((data) => {
 // Вызов скриптов
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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