Вопрос древний, но там фишка в контексте выполнения функций и области видимости переменных.
На примере, переменная в которую записывается объект свайпера, лежит в самом верху.
Решал похожую задачу, и случайно написал переменную внутрь функции инициализации.
По итогу, я тупо не мог дотянуться до нужного экземпляра свайпера, чтоб применить ему метод дестрой.
{
const parent = document.querySelector(".parent");
if (!parent) return;
const sliderEl = parent.querySelector(".slider");
let slider;
const checkWindowSize = () => {
if (window.innerWidth >= 1024 && window.innerHeight >= 720) return true;
return false;
};
function init() {
if (slider) slider.destroy(true, true);
if (checkWindowSize()) {
slider = new Swiper(sliderEl, {
mousewheel: true,
});
}
}
window.addEventListener("resize", () => {
init();
});
init();
}