导航标签动态加载/显示
Bootstrap 3 Nav Pills Nav Tabs Dynamically loading / displaying
我已经创建了一个php函数,它允许jQuery为Bootstrap药丸/选项卡创建一个选项卡内容div。我可以让它动态加载数据,我只是不能让它显示下面的数据。药丸/标签他们自己显示很好,它的内容,不显示一旦我点击相关标签。触点在所需的选项卡中加载。但是没有给它一个活动类。
function BStabs($divId)
{
?>
<script>
jQuery(document).ready(function()
{
var div = '<?php echo $divId;?>';
var html = "";
html += '<div class="tab-content">';
jQuery('#'+div+' ul').each(function()
{
jQuery(this).addClass('nav nav-pills');
});
jQuery('#'+div+' ul li a').each(function()
{
jQuery(this).attr('data-toggle', 'pill');
var href = $(this).attr("data-target");
html += '<div id="'+href+'" role="tabpanel" class="tab-pane"></div>';
jQuery(this).attr('aria-controls',href);
jQuery(this).attr('role','tab');
});
html += '</div>';
jQuery('#'+div).append(html);
var first = '#'+div+' ul li:first a';
var url = $(first).attr("rel");
var href = $(first).attr("data-target");
var pane = $(first);
$('#'+href).load(url,function(result){
pane.tab('show');
});
jQuery('.nav-pills > li > a').click(function(e)
{
var url = jQuery(this).attr("rel");
var href = jQuery(this).attr("data-target");
var pane = jQuery(this);
jQuery('#'+href).load(url,function(result){
pane.tab('show');
});
});
});
</script>
<?
}
下面是我调用函数的地方:
echo "<div id='"myMessages'">";
echo "<ul>";
echo "<li><a data-target='"todos'" rel='"/URLforAJAXfunction'">A1</a></li>";
echo "<li><a data-target='"asstodos'" rel='"/URLforAJAXfunction'">A2</a></li>";
echo "</ul>";
echo "</div>";
BStabs("myMessages");
我主要从这个Bootply中改编了代码http://www.bootply.com/63891
我还添加了一个JSFiddle链接http://jsfiddle.net/9n6qLt0g/供人们玩,如果他们想。真的需要这个工作。我希望JS创建标签内容div和所有相关的子div,然后成为活动时,点击
我已经玩了一段时间了。我认为这有点麻烦,但我还是把它修好了:
JS提琴如果有人想看(改进代码)http://jsfiddle.net/daza110/9n6qLt0g/3/
jQuery(document).ready(function()
{
var div = 'myMessages';
var html = "";
html += '<div class="tab-content">';
jQuery('#'+div+' ul').each(function()
{
jQuery(this).addClass('nav nav-pills');
});
jQuery('#'+div+' ul li a').each(function()
{
jQuery(this).attr('data-toggle', 'pill');
var href = jQuery(this).attr("data-target");
html += '<div id="'+href+'" role="tabpanel" class="tab-pane fade"><p>'+href+'</p></div>';
jQuery(this).attr('aria-controls',href);
jQuery(this).attr('role','tab');
});
html += '</div>';
jQuery('#'+div).append(html);
var first = '#'+div+' ul li:first a';
var url = jQuery(first).attr("rel");
var href = jQuery(first).attr("data-target");
var pane = jQuery(first);
jQuery('#'+href).load(url,function(result){
pane.tab('show');
jQuery('#'+href).addClass("active in");
});
jQuery('.nav-pills > li > a').click(function(e)
{
jQuery('#'+div+' .tab-content > div').each(function(e)
{
jQuery(this).removeClass("active in");
});
var url = jQuery(this).attr("rel");
var href = jQuery(this).attr("data-target");
var pane = jQuery(this);
jQuery('#'+href).load(url,function(result){
pane.tab('show');
jQuery('#'+href).addClass("active in");
});
});
});
我添加的是,当创建动态选项卡时,它们也被赋予fade类。然后,当页面加载并自动选择选项卡时,或者当选项卡被单击时,它会删除容器div中"active in"的所有类,并将类"active in"添加到相关内容选项卡中。
相关文章:
- 如何在生成下载文件时显示加载动画
- 如何在谷歌字体加载时显示加载图像
- 现在可以在加载addThis时显示加载吗
- 单击时选择2(未选中),显示加载微调器javascript
- 如何在网页加载时显示加载内容,并在页面完全加载时隐藏此内容
- 在弹出窗口中显示加载消息
- 使用jquery/ajax显示加载图像
- 在引导轮播加载之前显示加载微调器
- 是否可以在页面开始加载之前显示加载gif/image
- 单击链接后显示加载程序
- 等待数据时显示加载程序
- 在谷歌地图上显示加载消息
- 只想在页面上未加载初始数据时显示加载gif
- 如何在加载选项卡内容时显示加载图像
- 如何在ajax请求中显示加载微调器
- 当javascript图像转盘加载36个图像时,我可以显示加载指示器吗
- 隐藏/显示加载功能不起作用
- Jquery Chosen插件-通过Ajax动态填充列表时显示加载图标
- 有没有一种方法可以用jQuery捕获JavaScriptPageMethods调用?(显示加载屏幕)
- jquery图片库显示加载程序gif