Изменение селектора в компактном. js файле из # btn-offcanvas-menu на # btn-offcanvas-menu решило проблему, и хотя это работало, это был неправильный способ исправить проблему, как указал connectxo из-за повторяющихся идентификаторов.
Правильный способ решить эту проблему - изменить саму панель навигации для мобильных устройств, чтобы я мог использовать идентификатор специально для мобильного устройства, которое появилось только там.
<nav id="mobile-menu" class="site-mobile-menu hidden-lg hidden-md">
<ul>
<li id="recent-mobile">
<a href="#" id="btn-offcanvas-menu-mobile">Recent Results</a>
</li>
</ul>
</nav>
Далее я изменил функцию js, которая заполняла html для мобильного меню, чтобы использовать prepend вместо append, чтобы он заполнял все, что выше ссылки "Недавние результаты" ...
$("#desktop-menu > ul").children().clone().prependTo($("#mobile-menu > ul")), $("#show-mobile-menu").on("click", function() {
$(this).toggleClass("clicked"), $("#mobile-menu > ul").stop(true, true).slideToggle()
});
Затем я настроил функцию js для переключения класса на мобильный для # btn-close-canvasmenu, если селектор был # btn-offcanvas-menu-mobile, который будет использоваться позже ...
$(document).on("click","#btn-offcanvas-menu,#btn-offcanvas-menu-mobile", {} , function(a){
var id = $(this).attr('id');
if (id === "btn-offcanvas-menu-mobile") {
$("#btn-close-canvasmenu").toggleClass("mobile");
}
return a.preventDefault(), $(this).hasClass("isLeft") ? $("#offcanvas-menu").stop().animate({
right: "-260px"
}, 300) : $("#offcanvas-menu").stop().animate({
right: "0px"
}, 300), $(this).toggleClass("isLeft"), false
});
Наконец, я настроил функцию js, которая закрывала меню, чтобы проверить класс, чтобы определить, какой идентификатор переключать класс isLeft для ...
$(document).on("click","#btn-close-canvasmenu", {} , function(a){
var id = $(this).attr('id');
if ($(this).hasClass("mobile")) {
var container = $("#btn-offcanvas-menu-mobile");
$("#btn-close-canvasmenu").toggleClass("mobile");
} else {
var container = $("#btn-offcanvas-menu");
}
$("#offcanvas-menu").stop().animate({
right: "-260px"
}, 300), container.removeClass("isLeft")
});