当我们开始排序或其他事情时,数据表有选项显示“进程”消息。一切都很好,只有当它隐藏'处理'时,仍然留有“处理”的空间。因此,当处理显示然后加载数据时,html表跳下来处理隐藏但是html表没有跳回来,因此它保持可见的位置。 问题,如何使数据表删除Processing标签而不是隐藏。谢谢
EDIT。我添加了HTML代码
<div id="search_table_processing" class="dataTables_processing" style="visibility: hidden;">Processing...<img alt="< <" src="/themes/third_party/linkedin_search/img/165.gif"></div>
答案 0 :(得分:8)
嗯,我刚刚碰到这个,不得不自己深入研究。
在1.9.0版中,您可以搜索此代码段:
an[i].style.visibility = bShow ? "visible" : "hidden";
(搜索visibility
后找到。)
在缩小版本中,它是当前的(使用NuGet包):
c[d].style.visibility=b?"visible":"hidden";
根据示例CSS文件,问题是我们忽略了样式.dataTables_processing
。以下是其中一个样本的样式:
.dataTables_processing {
position: absolute;
top: 0px;
left: 50%;
width: 250px;
margin-left: -125px;
border: 1px solid #ddd;
text-align: center;
color: #999;
font-size: 11px;
padding: 2px 0;
}
一旦设置了样式(或bProcessing
设置为false),就不会出现问题。
如果您愿意更改插件的功能(如果您认为可以记得将其更改回来),那么您可以将其切换为使用显示而不是可见性。
答案 1 :(得分:4)
如果您使用国际化 - 数据表构造函数中的“oLanguage”属性
在本地化文件中将旧的sProcessing值替换为此处,以便在处理时放置自定义图像:
"sProcessing": "<img src='/themes/third_party/linkedin_search/img/165.gif'/>",
以下是将数据表链接到本地化文件的方法(可以从数据表网站Internationalisation of datatables下载) 。 。
"oLanguage": {
"sUrl": "../../jQuery/dataTables/media/MyLanguageFilesFolder/en_US.txt"
}
。 。
如果您不使用数据表的国际化,您可以随时使用上面建议设置“sProcessing”值...
这里有一个例子:
$(document).ready(function() {
$('#example').dataTable( {
"oLanguage": {
"sProcessing": "<img src='/themes/third_party/linkedin_search/img/165.gif'>"
}
} );
});
答案 2 :(得分:2)
更改
an[i].style.visibility = bShow ? "visible" : "hidden";
到
an[i].style.display = bShow ? "block" : "none";
对我不起作用。但是,我通过将声明更改为
来完成它 if (bShow == false) {
an[i].style.display = "none";
}
else {
an[i].style.display = "block";
}
希望这可以帮助任何不想添加任何css代码并且直接访问源代码的人!
答案 3 :(得分:1)
对于Datatables版本1.9.4,只需编辑文件jquery.dataTables.js第3005行,并更改以下内容:
an[i].style.visibility = bShow ? "visible" : "hidden";"block" : "none";
到
an[i].style.display = bShow ?
为我工作!
答案 4 :(得分:0)
如果您希望文字在背景应该在那里时消失,为什么不添加:
div.dataTables_processing {color:transparent; }