Nie mogę uruchomić menu rozwijanego bootstrap. Oto mój html dla nav:
<ul class='nav'>
<li class='active'>Home</li>
<li class='dropdown'>
<a class="dropdown-toggle" data-toggle="dropdown" href='#'>Personal asset loans</a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">asds</a></li>
<li class="divider"></li>
</ul>
</li>
<li>Payday loans</li>
<li>About</li>
<li>Contact</li>
</ul>
A oto skrypty:
<script type="text/javascript" src="js/bootstrap/bootstrap-dropdown.js"></script>
<script>
$(document).ready(function(){
$('.dropdown-toggle').dropdown()
});
</script>
Co ja robię źle? Dzięki za odpowiedzi!
html
drop-down-menu
twitter-bootstrap
hjuster
źródło
źródło
Gruntfile.js
który zmienia niektóre ścieżki wjsFileList
... Aktualizacja ścieżek i uruchamianie odpowiednich zadań Grunt (grunt dev / grunt build / etc) rozwiązało mój problem.bootstrap.min.js
ijquery
Odpowiedzi:
Działające demo: http://codebins.com/bin/4ldqp73
Spróbuj tego
<ul class='nav'> <li class='active'>Home</li> <li> <div class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Personal asset loans</a> <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> <li><a href="#">asds</a></li> <li class="divider"></li> </ul> </div> </li> <li>Payday loans</li> <li>About</li> <li>Contact</li> </ul>
źródło
Miałem ten sam problem. Po kilku godzinach rozwiązywania problemów okazało się, że
miałem
<script type="text/javascript" src="Scripts/bootstrap.min.js"></script> <script type="text/javascript" src="Scripts/jquery-2.1.1.min.js"></script>
zamiast,
<script type="text/javascript" src="Scripts/jquery-2.1.1.min.js"></script> <script type="text/javascript" src="Scripts/bootstrap.min.js"></script>
Mam nadzieję, że to komuś pomoże
źródło
Miałem ten sam problem, kiedy dodałem
bootstrap.min.js
dwa razy. Usunął jeden z nich i zaczął działać.źródło
FYI: Jeśli masz bootstrap.js, należy nie dodawać bootstrap-dropdown.js.
Nie jestem pewien wyniku działania pliku bootstrap.min.js.
źródło
bootstrap.js
ibootstrap.min.js.
. Kiedy usunąłem to drugie, działa.js/bootstrap.js
jak równieżjs/dropdown.js
Dla swojego stylu musisz dołączyć pliki css bootstrap, zwykle tuż przed
</head>
elementem<link href="css/bootstrap.css" rel="stylesheet">
Następnie musisz dołączyć pliki js, zaleca się umieszczenie ich na końcu dokumentu, zwykle zanim
</body>
strony będą ładować się szybciej.<script src="js/jquery.js"></script> <script src="js/bootstrap.js"></script>
źródło
Dodaj następujące linie w znacznikach body.
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://code.jquery.com/jquery.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script>
źródło
musisz zaimportować te pliki do
<head></head>
swojego html.<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
źródło
Czy włączyłeś
jquery.js
?Porównaj również ten wiersz kodu ze swoim:
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Personal asset loans<b class="caret"></b></a>
Zobacz tę wersję, która działa dobrze.
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Bootstrap dropdown</title> <link href="css/bootstrap.css" rel="stylesheet" type="text/css" /> </head> <body> <div class="navbar"> <div class="navbar-inner"> <div class="container"> <ul class="nav"> <a class="brand" href="#">w3resource</a> <li class="active"><a href="#">Home</a></li> <li><a href="#">Blog</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> <li class="dropdown" id="accountmenu"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Tutorials<b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">PHP</a></li> <li><a href="#">MySQL</a></li> <li class="divider"></li> <li><a href="#">JavaScript</a></li> <li><a href="#">HTML5</a></li> </ul> </li> </ul> </div> </div> </div> <div class="container-fluid"> <h1>Dropdown Example</h1> </div> <script type="text/javascript" src="js/jquery-latest.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> <script type="text/javascript"> $(document).ready(function () { $('.dropdown-toggle').dropdown(); }); </script> </body> </html>
źródło
Należy uwzględnić zarówno bootstrap, jak i jquery:
<link type="text/css" href="/{ProjectName}/css/ui-lightness/jquery-ui-1.8.18.custom.css" rel="stylesheet" /> <script type="text/javascript" src="/{ProjectName}/js/jquery-x.x.x.custom.min.js"></script> <link type="text/css" href="/{ProjectName}/css/bootstrap.css" rel="stylesheet" /> <script type="text/javascript" src="/{ProjectName}/js/bootstrap.js"></script>
UWAGA: wersja jquery-xxxmin.js musi być wersją 2.xx !!!
źródło
Rozgryzłem to i najprostszym sposobem, aby to zrobić, jest skopiowanie i pominięcie CDN linku bootstrap, które można znaleźć na https://www.bootstrapcdn.com/ i skryptach Jquery CDN, które można znaleźć tutaj https: // code.jquery.com/ i po skopiowaniu linków, linki bootstrap wklejają się w nagłówku HTML, a skrypt Jquery w treści HTML, jak w przykładzie poniżej:
<!DOCTYPE html> <html> <head> <title>Purrfect Match Landing Page</title> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <!--<link rel="stylesheet" href="griddemo.css"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"> <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> </head> <body> <!-- Latest compiled and minified JavaScript --> <script src="https://code.jquery.com/jquery-3.1.1.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"> </script> </body> </html>
U mnie działa idealnie, mam nadzieję, że zadziała również u Ciebie :)
źródło
</body>
tagi sprawią, że zadziała na moim końcu!Spróbuj tego w sekcji głównej
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script> <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
źródło
Oto co zrobiłem .....
Właśnie usunąłem plik bootstrap.min.js z mojego projektu i dodałem do niego plik bootstrap.js i zaczął działać ........
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include( "~/Scripts/bootstrap.js" //"~/Scripts/bootstrap.min.js"));
źródło
Wypróbuj ten kod:
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Bootstrap Tutorial</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> </head> <body> <h1>Welcome to Bootstrap</h1> <div class="dropdown"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown button </button> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Something else here</a> </div> </div> <script src="https://code.jquery.com/jquery.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> </body> </html>
źródło
Będziesz musiał sprawdzić sprzeczne pliki / właściwości css, na przykład możesz mieć niestandardową zawartość stylu „.nav” w innym miejscu spróbować wyłączyć własne pliki css i sprawdzić, czy to działa, a następnie sprawdzić, który plik lub styl niestandardowy powoduje konflikty. dołączasz plik bootstrap.min.js do swojego kodu
źródło
Miałem podobny problem tylko po to, aby zauważyć, że dwukrotnie dodałem skrypt bootstrap, a drugi skrypt bootstrap był po powyżej skryptu jquery.
Rozwiązanie:
źródło
Kopiuj i wklej poniżej jQuery
<script>
i arkusz stylów<link>
do swojego,<head>
aby upewnić się, że ładujesz wszystkie niezbędne pliki.Po prostu wklej następujący wiersz, aby przetestować
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="//netdna.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script> <link rel="stylesheet" type="text/css" href="//netdna.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
Teraz przetestuj
Jeśli jednak to nie zadziała, sprawdź witrynę bootstrap, na której jest przykładowa implementacja.
https://getbootstrap.com/docs/4.3/components/navbar/#supported-content
źródło
Do najnowszej wersji Bootstrap będziesz potrzebować Popper.js
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
Skopiuj link w sekcji End of the Body tuż przed
<body>
tagiem, wewnątrz<Head>
tagu.źródło
Właśnie dodałem
JS
częśćbootstrap
do mojej strony indeksu, to zadziałało.Wklej to, jeśli używasz najnowszej wersji bootstrap
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
źródło
Miałem ten sam problem, który mnie tu sprowadził.
Mój problem: Używałem zalecanej wersji jquery 1.12.0 jako mojego pliku skryptu jquery.
Rozwiązanie: zastąpiono skrypt jquery wersją jquery 2.2.0.
To mnie rozwiązało.
źródło
Dla mnie był to problem z CORS. usunąłem
crossorigin="anonymous"
z mojego skryptu importowanie tagów i ponownie zaczęło działać.Przy okazji, najnowsze tagi skryptów, we właściwej kolejności, zawsze można znaleźć tutaj: https://getbootstrap.com/
Edycja: Najwyraźniej dodanie
defer
doscript
tagu zepsuje również wszystkie gadżety Bootstrap.źródło
Skopiuj / wklej łącze CSS, a następnie łącze JS z witryny bootstrap tutaj . Wtedy lista rozwijana powinna działać.
Moja strona wygląda tak:
<html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <title>Website Title</title> </head> <body> <div id="content" /> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Something else here</a> </div> </li> <li class="nav-item"> <a class="nav-link disabled" href="#">Disabled</a> </li> </ul> <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> </form> </div> </nav> </body> </html>
( Stąd pasek nawigacyjny )
źródło
Sprawdź bibliotekę popper.js, ponieważ miałem ten sam problem, możesz znaleźć CDN bootstrap, jquery i popper do rozwijania na https://getbootstrap.com/ lub po prostu skopiuj następujące tagi skryptów
źródło
Mój (ten sam) problem pojawił się, gdy pomyliłem wersję css i bootstrap. Używałem wersji 3 bootstrap.min.js z wersją 4.5 bootstrap.min.css
Jeśli ostatnio załadowałeś lub nadpisałeś kilka plików css i js w folderze statycznym, byłoby to dobre miejsce na rozpoczęcie.
Powodzenia.
źródło
Miałem konfigurację z Angular 7, jQuery 3.4.1, Popper 1.12.9 i Bootstrap 4.3.1, nic mi nie działało, więc zrobiłem ten mały hack w stylach:
.dropdown.show .dropdown-menu { opacity: 1 !important; }
Html wygląda tak:
<nav class="navbar navbar-expand-lg navbar-dark fixed-top py-1"> <div class="container-fluid"> <ul class="navbar-nav"> <li class="nav-item dropdown"> <button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" id="dropdown-id" aria-expanded="false">Menu</button> <div class="dropdown-menu" aria-labelledby="dropdown-id"> <a class="dropdown-item" [routerLink]='["/"]'>Main page</a> <a class="dropdown-item" [routerLink]='["/about"]'>About</a> <div class="dropdown-divider"></div> <a class="dropdown-item" [routerLink]='["/about/terms"]'>Terms</a> <a class="dropdown-item" [routerLink]='["/about/privacy"]'>Privacy</a> </div> </li> </ul> </div> </nav>
źródło