Czy istnieje sposób na utrzymywanie paska nawigacyjnego Bootstrap jako navbar-fixed-bottom
, gdy jest on na urządzeniu mobilnym, a na pulpicie navbar-static-top
? Zastanawiałem się nad utworzeniem dwóch navbarów i ukrywaniem jednego i pokazaniem drugiego, choć nie jestem pewien, czy to w porządku; na pokrewną uwagę, czy można używać dwóch elementów nav z tą samą rolą?Bootstrap - fixed-bottom na pulpicie i navbar-static-top na urządzeniach mobilnych?
6
A
Odpowiedz
3
Można to również zrobić, dodając i usuwając klasę paska nawigacyjnego za pomocą jQuery Javy według szerokości ekranu.
if ($(window).width() > 330) {
$('.navbar').addClass('navbar-static-top');
}
else
{
$('.navbar').addClass('navbar-fixed-bottom');
}
Będzie działać na pewno
+1
To działa tylko przy ładowaniu strony, zostanie przerwane, jeśli JS jest wyłączone i może spowodować migotanie nawigatora z pozycji początkowej podczas ładowania strony. Celem bootstrap jest reagowanie. Zapytania o media CSS będą lepsze. – dotcomly
1
Można użyć zapytań o media:
<nav class="navbar navbar-default navbar-static-top" role="navigation">
@media (max-width:767px) { .navbar-static-top { position: fixed; bottom: 0; left: 0; width: 100%; margin: 0; } }
2
Ten kod działa dla mnie, i powinny być łatwe do zrozumienia.
var win = $(this); // browser window
var nav = $('.navbar'); // your navigation bar
function switchNavbar() {
if (win.width() < 768) { // on mobile
nav.removeClass('navbar-static-top');
nav.addClass('navbar-fixed-bottom');
} else { // on desktop
nav.removeClass('navbar-fixed-bottom');
nav.addClass('navbar-static-top');
}
}
// On first load
$(function() {
switchNavbar();
});
// When browser resized
$(window).on('resize', function(){
switchNavbar();
});
Powiązane problemy
- 1. Przyciski bootstrap zostają "zablokowane" na urządzeniach mobilnych
- 2. Akordeony załamują się domyślnie w urządzeniach mobilnych i domyślnie są rozszerzane na pulpicie Bootstrap 3 responsive
- 3. Zdarzenie najechania i kliknięcia na urządzeniach mobilnych
- 4. Menu rozwijane nie działa na urządzeniach mobilnych.
- 5. Jednostki vh /% i klawiatura na urządzeniach mobilnych
- 6. Obsługa WebSocket na urządzeniach mobilnych
- 7. Datepicker dla Bootstrap na urządzeniach mobilnych zmieniających Format
- 8. Jak wykrywać fokus przeglądarki na urządzeniach mobilnych?
- 9. Czy wskaźnik css działa na urządzeniach mobilnych?
- 10. autoodtwarzanie mediaelement.js nie działa na urządzeniach mobilnych
- 11. Google Map aplikacja nie otwiera łącza internetowego na urządzeniach mobilnych
- 12. suwak jQuery UI Obsługa Touch & Drag/Drop na urządzeniach mobilnych
- 13. Obsługa Canvas i WebGL (three.js) na urządzeniach mobilnych?
- 14. Animacje kątowe i znakowanie nie działające na urządzeniach mobilnych
- 15. Najlepszy sposób na zatrzymanie określonej funkcji JavaScript na urządzeniach mobilnych
- 16. Żądaj opcji strony na komputery stacjonarne na urządzeniach mobilnych
- 17. Czy istnieje sposób na usunięcie opóźnienia kliknięcia na urządzeniach mobilnych?
- 18. Przycisk odtwarzania pojawia się na obrazie tła na urządzeniach mobilnych.
- 19. Google Map w urządzeniach mobilnych
- 20. Podstawowe przesyłanie wielu plików nie działa na urządzeniach mobilnych
- 21. Skopiuj do schowka, który działa również na urządzeniach mobilnych?
- 22. Javascript: użycie DOMParser na urządzeniach mobilnych (iOS 7. *)
- 23. sposób wyświetlania strony internetowej o pełnej szerokości na urządzeniach mobilnych
- 24. wykrywanie gęstości ekranu za pomocą javascript na urządzeniach mobilnych?
- 25. Wprowadź typ wejściowy = "Hasło" Użyj klawiatury numerycznej na urządzeniach mobilnych
- 26. Jak wyszukiwać tylko filmy, które można odtwarzać na urządzeniach mobilnych?
- 27. Obsługa rozszerzeń przeglądarki w Google Chrome na urządzeniach mobilnych
- 28. Twitter Bootstrap Zmiana kolejności elementów na małych urządzeniach
- 29. Scala na pulpicie
- 30. Korzystanie z zdarzenia mousedown na urządzeniach mobilnych bez aplikacji jQuery mobile?
Jest to możliwe, tak, musisz użyć niektórych mediów na ten temat, ale jest to możliwe. Twoja alternatywna uwaga jest taka, że możesz mieć wiele elementów nav, a obsługiwanych przez w3.org dla posiadania wielu ról 'navigation' na tej samej stronie. http://www.w3.org/WAI/GL/wiki/Using_HTML5_nav_element#Example%3aThe_.3Cnav.3E_element – Dorvalla
@Dorvalla Ah, dziękuję. Więc nie ma żadnych metod osiągnięcia tego już wbudowanego w Bootstrap? – yaharga
Nie mogę tego potwierdzić, ale dodawanie/usuwanie klas przez javascript jest rozwiązaniem, gdy sprawdza szerokość ekranu. – Dorvalla