【发布时间】:2014-08-23 02:33:01
【问题描述】:
我正在使用 bootstrap 3 选项卡并使用 ajax 加载选项卡上每个选项卡的内容。
但有时当服务器变慢时加载内容需要时间。因此,我想在标签内容中放置一个微调器,直到服务器返回标签内容。
首先,是否有一个内置的简单选项可以实现这一点?(淡化效果不是我想要的。)
如果没有要使用的内置函数,我是否应该在内容中放置一个 div 并在 ajax 返回结果时隐藏/显示它?
或者我不应该重复自己,我应该使用 jquery 将 div 元素放在活动选项卡中并在 ajax 完成时替换它?
最好的选择是什么?
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
<li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
<li><a href="#messages" role="tab" data-toggle="tab">Messages</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane active" id="home"> <div class="spinner"></div> </div>
<div class="tab-pane" id="profile"><div class="spinner"></div></div>
<div class="tab-pane" id="messages"><div class="spinner"></div></div>
</div>
这里是更新每个标签内容的ajax查询
$('.nav-tabs a').click(function (e) {
e.preventDefault();
if ($(this).closest('li').is('.active')) { //stop sending another query when tab active
return;
}
var ts = +new Date();
var tabUrlAddress = $(this).attr("data-url") + '?timestamp=' + ts;
var href = this.hash;
var pane = $(this);
pane.show();
$(href).load(tabUrlAddress, function (result) {
});
});
【问题讨论】:
-
你能分享一下你用来加载标签内容的ajax代码吗?
-
我已添加查询
标签: jquery ajax twitter-bootstrap