$(function () { 'use strict' $('[data-toggle="offcanvas"]').on('click', function (evt) { log('evt:', evt); evt.preventDefault(); //evt.stopPropagation(); toggleBackdrop(); }); $('#offcanvasModal').on('show.bs.modal', function (e) { // Do something... log('show.bs.modal', $(this), $('.modal-backdrop')); setTimeout(function(){ $('.modal-backdrop').addClass('offcanvas-backdrop'); }); $('.modal-backdrop').addClass('hide'); $('#offcanvas.offcanvas').toggleClass('active'); $('[data-toggle="offcanvas"]').toggleClass('active'); $('.sidebar-nav').toggleClass('active'); $('html, body').toggleClass('scroll-disabled'); if (typeof kvSwiper != "undefined") { updateKVSwiper(); } }); $('#offcanvasModal').on('hide.bs.modal', function (e) { log('=================================================='); $('.modal-backdrop').addClass('hide'); $('#offcanvas.offcanvas').toggleClass('active'); $('[data-toggle="offcanvas"]').toggleClass('active'); $('.sidebar-nav').toggleClass('active'); $('html, body').toggleClass('scroll-disabled'); if (typeof kvSwiper != "undefined") { updateKVSwiper(); } }); function toggleBackdrop() { log('toggleBackdrop'); if ( $('body').hasClass('modal-open') ) { log('toggleBackdrop Close', $('#offcanvasModal')); $('#offcanvasModal').modal('hide'); } else { log('toggleBackdrop Open'); $('#offcanvasModal').modal({ keyboard: false, backdrop: true }, 'show'); } } })