Estoy tratando de implementar pestañas de Twitter Bootstrap en el siguiente código, pero parece que no funciona. Se muestran las pestañas, pero cuando hago clic en ellas no sucede nada. A continuación se muestra el único código que estoy usando. Todos los demás scripts CSS / JS se copian del marco de Twitter Bootstrap.
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Le styles -->
<link href="assets/twitterbootstrap/css/bootstrap.css" rel="stylesheet">
<link href="assets/twitterbootstrap/css/bootstrap-responsive.css" rel="stylesheet">
</head>
<body data-spy="scroll" data-target=".subnav" data-offset="50">
<div class="container">
<!-------->
<div id="content">
<ul class="nav nav-tabs" data-tabs="tabs">
<li class="active"><a href="#red">Red</a></li>
<li><a href="#orange">Orange</a></li>
<li><a href="#yellow">Yellow</a></li>
<li><a href="#green">Green</a></li>
<li><a href="#blue">Blue</a></li>
</ul>
<div id="my-tab-content" class="tab-content">
<div class="tab-pane active" id="red">
<h1>Red</h1>
<p>red red red red red red</p>
</div>
<div class="tab-pane" id="orange">
<h1>Orange</h1>
<p>orange orange orange orange orange</p>
</div>
<div class="tab-pane" id="yellow">
<h1>Yellow</h1>
<p>yellow yellow yellow yellow yellow</p>
</div>
<div class="tab-pane" id="green">
<h1>Green</h1>
<p>green green green green green</p>
</div>
<div class="tab-pane" id="blue">
<h1>Blue</h1>
<p>blue blue blue blue blue</p>
</div>
</div>
</div>
<script type="text/javascript">
jQuery(document).ready(function ($) {
$(".tabs").tabs();
});
</script>
</div> <!-- container -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.js"></script>
<script type="text/javascript" src="assets/twitterbootstrap/js/bootstrap.js"></script>
</body>
</html>
html
twitter-bootstrap
DEREK N
fuente
fuente
data-toggle
funcionó para mí; esto también es cierto para Bootstrap 3. Aquí hay un bootply con un ejemplo funcional: bootply.com/74927Respuestas:
Necesita agregar el complemento de pestañas a su código
<script type="text/javascript" src="assets/twitterbootstrap/js/bootstrap-tab.js"></script>
Bueno, no funcionó. Hice algunas pruebas y empezó a funcionar cuando:
<head>
seccióndata-toggle="tab"
a los enlaces y la identificación del<ul>
elemento de pestaña$(".tabs").tabs();
a$("#tabs").tab();
Aquí hay un código
<!DOCTYPE html> <html lang="en"> <head> <!-- Le styles --> <link href="../bootstrap/css/bootstrap.css" rel="stylesheet"> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> </head> <body> <div class="container"> <!--------> <div id="content"> <ul id="tabs" class="nav nav-tabs" data-tabs="tabs"> <li class="active"><a href="#red" data-toggle="tab">Red</a></li> <li><a href="#orange" data-toggle="tab">Orange</a></li> <li><a href="#yellow" data-toggle="tab">Yellow</a></li> <li><a href="#green" data-toggle="tab">Green</a></li> <li><a href="#blue" data-toggle="tab">Blue</a></li> </ul> <div id="my-tab-content" class="tab-content"> <div class="tab-pane active" id="red"> <h1>Red</h1> <p>red red red red red red</p> </div> <div class="tab-pane" id="orange"> <h1>Orange</h1> <p>orange orange orange orange orange</p> </div> <div class="tab-pane" id="yellow"> <h1>Yellow</h1> <p>yellow yellow yellow yellow yellow</p> </div> <div class="tab-pane" id="green"> <h1>Green</h1> <p>green green green green green</p> </div> <div class="tab-pane" id="blue"> <h1>Blue</h1> <p>blue blue blue blue blue</p> </div> </div> </div> <script type="text/javascript"> jQuery(document).ready(function ($) { $('#tabs').tab(); }); </script> </div> <!-- container --> <script type="text/javascript" src="../bootstrap/js/bootstrap.js"></script> </body> </html>
fuente
Los elementos clave incluyen:
class="nav nav-tabs"
ydata-tabs="tabs"
deul
data-toggle="tab"
yhref="#orange"
dela
class="tab-content"
deldiv
del contenidoclass="tab-pane"
yid
del div de los elementosEl código completo es el siguiente:
<ul class="nav nav-tabs" data-tabs="tabs"> <li class="active"><a data-toggle="tab" href="#red">Red</a></li> <li><a data-toggle="tab" href="#orange">Orange</a></li> <li><a data-toggle="tab" href="#yellow">Yellow</a></li> <li><a data-toggle="tab" href="#green">Green</a></li> <li><a data-toggle="tab" href="#blue">Blue</a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="red"> <h1>Red</h1> <p>red red red red red red</p> </div> <div class="tab-pane" id="orange"> <h1>Orange</h1> <p>orange orange orange orange orange</p> </div> <div class="tab-pane" id="yellow"> <h1>Yellow</h1> <p>yellow yellow yellow yellow yellow</p> </div> <div class="tab-pane" id="green"> <h1>Green</h1> <p>green green green green green</p> </div> <div class="tab-pane" id="blue"> <h1>Blue</h1> <p>blue blue blue blue blue</p> </div> </div>
fuente
Recientemente tuve un problema con las pestañas de Bootstrap siguiendo sus pautas en línea , pero actualmente hay un error en su ejemplo de marcado
data-tabs="tabs
"falta en el<ul>
elemento. Sin él, el usodata-toggle
de enlaces no funciona.fuente
Tengo el mismo problema, pero algunas respuestas anteriores pueden ser complicadas para mí.
Encontré la otra respuesta, tal vez resuelva su pregunta Twitter Bootstrap Js (pestañas, ventanas emergentes, menú desplegable) no funciona en Drupal
fuente
Le falta la
data-toggle="tab"
etiqueta de datos en las URL de su menú, por lo que sus scripts no pueden decir dónde están los interruptores de pestaña:HTML
<ul class="nav nav-tabs" data-tabs="tabs"> <li class="active"><a data-toggle="tab" href="#red">Red</a></li> <li><a data-toggle="tab" href="#orange">Orange</a></li> <li><a data-toggle="tab" href="#yellow">Yellow</a></li> <li><a data-toggle="tab" href="#green">Green</a></li> <li><a data-toggle="tab" href="#blue">Blue</a></li> </ul>
fuente
Acabo de solucionar este problema agregando el elemento data-toggle = "tab" en la etiqueta de anclaje
<div class="container"> <!--------> <div id="content"> <ul class="nav nav-tabs"> <li class="active"><a data-toggle="tab" href="#red">Red</a></li> <li><a data-toggle="tab" href="#orange">Orange</a></li> <li><a data-toggle="tab" href="#yellow">Yellow</a></li> <li><a data-toggle="tab" href="#green">Green</a></li> <li><a data-toggle="tab" href="#blue">Blue</a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="red"> <h1>Red</h1> <p>red red red red red red</p> </div> <div class="tab-pane" id="orange"> <h1>Orange</h1> <p>orange orange orange orange orange</p> </div> <div class="tab-pane" id="yellow"> <h1>Yellow</h1> <p>yellow yellow yellow yellow yellow</p> </div> <div class="tab-pane" id="green"> <h1>Green</h1> <p>green green green green green</p> </div> <div class="tab-pane" id="blue"> <h1>Blue</h1> <p>blue blue blue blue blue</p>
y agregó lo siguiente en la sección principal http://code.jquery.com/jquery-1.7.1.js '>
fuente
Probé los códigos del documento de bootstrap de la siguiente manera:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>tab demo</title> <link rel="stylesheet" href="bootstrap.css"> </head> <body> <div class="span9"> <div class="tabbable"> <!-- Only required for left/right tabs --> <ul class="nav nav-tabs"> <li class="active"><a href="#tab1" data-toggle="tab">Section 1</a></li> <li><a href="#tab2" data-toggle="tab">Section 2</a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="tab1"> <p>I'm in Section 1.</p> </div> <div class="tab-pane" id="tab2"> <p>Howdy, I'm in Section 2.</p> </div> </div> </div> </div> <script src="jquery.min.js"></script> <script src="bootstrap.js"></script> </body> </html>
y funciona. Pero cuando cambio la posición de estos dos
<script src...>
, no funciona. Así que recuerde cargar su script jquery antes de bootstrap.js.fuente
Para mí, el problema era que no estaba incluyendo bootstrap.min.css (solo estaba incluyendo bootstrap-responsive.min.css).
fuente
De hecho, hay otra forma sencilla de hacerlo. Funciona para mí, pero no estoy seguro para ustedes. La clave aquí es simplemente agregar el FADE en cada (panel de pestañas) y funcionará. Además, ni siquiera necesita la función de script o cualquier versión de jQuery. Aquí está mi código ... espero que les funcione a todos.
<div class="tab-pane fade" id="Customer"> <table class="table table-hover table-bordered"> <tr> <th width="40%">Contact Person</th> <td><?php echo $event['Event']['e_contact_person']; ?></td> </tr> </table> </div> <div class="tab-pane fade" id="Delivery"> <table class="table table-hover table-bordered"> <tr> <th width="40%">Time Arrive Warehouse Start</th> <td><?php echo $event['Event']['e_time_arrive_WH_start']; ?></td> </tr> </table> </div>
fuente
fade
clase, pero las pestañas solo funcionaban en Google Chrome conasnc bootstrap.min.js
-file. Después de agregardata-toggle="tab"
las pestañas, también funcionaron en Mozilla Firefox y MS Edge.Esto lo resolvió cuando ninguno de los otros ejemplos lo hizo:
$('#myTab a').click(function (e) { e.preventDefault(); $(this).tab('show'); });
fuente
Tuve el mismo problema hasta que descargué bootstrap-tab.js y lo incluí en mi script, descargue desde aquí https://code.google.com/p/fusionleaf/source/browse/webroot/fusionleaf/com/www/inc /bootstrap/js/bootstrap-tab.js?r=82aacd63ee1f7f9a15ead3574fe2c3f45b5c1027
incluir bootsrap-tab.js justo debajo de jquery
<script type="text/javascript" src="bootstrap/js/bootstrap-tab.js"></script>
El código final se veía así:
<!DOCTYPE html> <html lang="en"> <head> <link href="bootstrap/css/bootstrap.css" rel="stylesheet"> <script type="text/javascript" src="libraries/jquery.js"></script> <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script> <script type="text/javascript" src="bootstrap/js/bootstrap-tab.js"></script> </head> <body> <div class="container"> <!--------> <div id="content"> <ul id="tabs" class="nav nav-tabs" data-tabs="tabs"> <li class="active"><a href="#red" data-toggle="tab">Red</a></li> <li><a href="#orange" data-toggle="tab">Orange</a></li> <li><a href="#yellow" data-toggle="tab">Yellow</a></li> <li><a href="#green" data-toggle="tab">Green</a></li> <li><a href="#blue" data-toggle="tab">Blue</a></li> </ul> <div id="my-tab-content" class="tab-content"> <div class="tab-pane active" id="red"> <h1>Red</h1> <p>red red red red red red</p> </div> <div class="tab-pane" id="orange"> <h1>Orange</h1> <p>orange orange orange orange orange</p> </div> <div class="tab-pane" id="yellow"> <h1>Yellow</h1> <p>yellow yellow yellow yellow yellow</p> </div> <div class="tab-pane" id="green"> <h1>Green</h1> <p>green green green green green</p> </div> <div class="tab-pane" id="blue"> <h1>Blue</h1> <p>blue blue blue blue blue</p> </div> </div> </div> <script type="text/javascript"> jQuery(document).ready(function ($) { $('#tabs').tab(); }); </script> </div> <!-- container --> <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script> </body> </html>
fuente
Como estoy trabajando con en
Bootstrap Javascript Modules
lugar de cargar todoBootstrap Javascript
, mis pestañas no funcionaban porque olvidé cargarload/include/
elnode_modules/bootstrap/js/tab.js
archivo.Después de incluirlo, funcionó ...
Buena suerte
fuente
Simplemente copie la etiqueta de secuencia de comandos para agregar
bootstrap.js
desde la sección principal hasta el final del cuerpo. Entonces todo debería funcionar bien incluso sin los scripts para activar las pestañas.fuente