Nie musisz dodawać żadnego dodatkowego javascript do tego, co jest już zawarte w opcji zwijania bootstraps. Zamiast tego po prostu umieść selektory przełączania danych i celów danych na elementach listy menu, tak jak robisz to z przyciskiem przełączania paska nawigacyjnego. Tak więc w przypadku pozycji menu Produkty wyglądałoby to tak
<li><a href="#Products" data-toggle="collapse" data-target=".navbar-collapse">Products</a></li>
Następnie należałoby powtórzyć selektory przełączania danych i celu danych dla każdego elementu menu
EDYTOWAĆ!!!
Aby naprawić problemy z przepełnieniem i migotaniem tej poprawki, dodaję więcej kodu, który to naprawi i nadal nie będzie mieć żadnego dodatkowego javascript. Oto nowy kod:
<li><a href="#products" class="hidden-xs">Products</a></li>
<li><a href="#products" class="visible-xs" data-toggle="collapse" data-target=".navbar-collapse">Products</a></li>
Tutaj jest w pracy http://jsfiddle.net/jaketaylor/84mqazgq/
Spowoduje to, że przełączniki i selektory docelowe będą dostosowane do rozmiaru ekranu i wyeliminują usterki w większym menu. Jeśli ktoś nadal ma problemy z usterkami, daj mi znać, a znajdę rozwiązanie. Dzięki
EDYCJA : W bootstrap v4.1.3 nie mogłem używać widocznych / ukrytych klas. Zamiast hidden-xs
używać d-none d-sm-block
i zamiast visible-xs
używać d-block d-sm-none
.