gpt4 book ai didi

javascript - Bootstrap 3 导航丸导航选项卡动态加载/显示

转载 作者:行者123 更新时间:2023-11-28 06:55:01 25 4
gpt4 key购买 nike

我创建了一个 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 fiddle (改进代码)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");
});
});
});

我添加的是,当创建动态选项卡时,它们也会被赋予淡入淡出类。然后,当页面加载并自动选择选项卡时,或者单击选项卡时,它会删除容器 div 内“active in”上的所有类,并将“active in”类添加到相关内容选项卡中。

关于javascript - Bootstrap 3 导航丸导航选项卡动态加载/显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32633858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com