Twitter Bootstrap вкладки не работают: когда я нажимаю на них ничего не происходит
Я пытаюсь реализовать вкладки начальной загрузки Twitter в следующем коде, но это, похоже, не работает. Вкладки отображаются, но когда я нажимаю на них ничего не происходит. Ниже приведен единственный код, который я использую. Все остальные CSS / JS скрипты копируются из Twitter Bootstrap framework.
<!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>
13 ответов:
вам нужно добавить вкладки плагин для вашего кода
<script type="text/javascript" src="assets/twitterbootstrap/js/bootstrap-tab.js"></script>
Ну, это не сработало. Я сделал несколько тестов, и он начал работать, когда:
- перемещен (обновлен до 1.7) скрипт jQuery в
<head>
раздел- добавил
data-toggle="tab"
к ссылкам и id для<ul>
tab элемент- изменить
$(".tabs").tabs();
до$("#tabs").tab();
- и некоторые другие вещи, которые не должно иметь значения
вот код
<!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>
ключевые элементы включают в себя:
- the
class="nav nav-tabs"
иdata-tabs="tabs"
наul
- the
data-toggle="tab"
иhref="#orange"
наa
- the
class="tab-content"
наdiv
контент- the
class="tab-pane"
иid
dic элементовполный код, как показано ниже:
<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>
недавно возникла проблема с загрузочными вкладками их онлайн руководства, но в настоящее время есть ошибка в их примере разметки
data-tabs="tabs
" отсутствует на<ul>
элемент. Без его использованияdata-toggle
по ссылкам не работает.
у меня та же проблема, но выше некоторые ответы могут быть сложными для меня.
Я нашел другой ответ, возможно, решить Ваш вопрос Twitter Bootstrap Js (вкладки, всплывающие окна, выпадающее меню) не работает в Drupal
место
jquery.js
доbootstrap.tab.js
вы пропускаете
data-toggle="tab"
data-tag в URL-адресах меню, поэтому ваши скрипты не могут определить, где находятся ваши переключатели вкладок: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>
Я просто исправил эту проблему, добавив data-toggle= "tab" элемент в теге якоря
<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>
и добавлено следующее в головной раздел http://code.jquery.com/jquery-1.7.1.js'>
я попробовал коды из документа bootstrap следующим образом:
<!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>
и это работает. Но когда я переключаю эти два
<script src...>
' s положение, это не работает. Поэтому, пожалуйста, не забудьте загрузить скрипт jquery перед загрузкой.js.
для меня проблема заключалась в том, что я не включал bootstrap.минута.css (я включал только bootstrap-responsive.минута.стиль CSS.)
на самом деле, есть еще один простой способ сделать это. Это работает для меня, но я не уверен, что для вас, ребята. Ключевая вещь здесь, это просто добавление FADE в каждом (tab-pane), и он будет работать. Кроме того, вам даже не нужно писать функцию скрипта или любую другую версию jQuery. Вот мой код...надеюсь, что это будет работать для всех вас.
<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>
это решило его, когда ни один из других примеров сделал:
$('#myTab a').click(function (e) { e.preventDefault(); $(this).tab('show'); });
у меня была та же проблема, пока я не загрузил bootstrap-tab.js и включил его в свой скрипт, скачать отсюда https://code.google.com/p/fusionleaf/source/browse/webroot/fusionleaf/com/www/inc/bootstrap/js/bootstrap-tab.js?r=82aacd63ee1f7f9a15ead3574fe2c3f45b5c1027
включить bootsrap-tab.js в чуть ниже jquery
<script type="text/javascript" src="bootstrap/js/bootstrap-tab.js"></script>
окончательный код выглядел так:
<!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>