我正在努力做出类似的事情:http://en.wikipedia.org/wiki/Bible 在右侧,您将看到一个带有按钮“Show”的信息框:
到目前为止我按照本指南所做的工作:http://trog.qgl.org/20140923/setting-up-infobox-templates-in-mediawiki-v1-23/
已下载并已安装Scribuntu
从这个地方复制了css: https://en.wikipedia.org/w/index.php?title=MediaWiki:Common.css&action=edit 到我的Common.css
导出的信息框模板
导入的信息框模板
创建信息框模板并且它有效,但是我无法使我的标题可折叠。
我用谷歌搜索并找到了这个页面http://dev.wikia.com/wiki/CollapsibleInfobox但是没有信息框的模板(可折叠)。
有人能帮助我吗?
答案 0 :(得分:1)
通过在信息框中添加类来解决我的问题:
{{Infobox
| abovestyle = background:#cfc;
| above = Infobox
| image = [[File:Parents.jpg|300px]]
|header1 = Header 1
|rowclass1 = class1 header hidden
|label2 = 111
|data2 = test1
|rowclass2 = class1
|header3 = Header 3
|rowclass3 = class3 header hidden
|label4 =
|data4 = data 4
|rowclass4 = class3
}}
然后我将这个jQuery代码添加到我的Common.js:
$('<a class="infoboxtoggle" href="#">+/-</a>').appendTo(
$('.infobox tr.header').filter(function(){ return $(this).attr('class').split(" ").length > 1 }).find("th")
);
$(".infobox tr.header").each(function(){
var $this = $(this);
if( $this.hasClass("hidden") ){
var firstclass = $this.attr("class").split(" ")[0];
$this.siblings("." + firstclass).addClass("hidden");
}
});
$('a.infoboxtoggle').click (
function (infoboxtoggle)
{
var parent = $(this).parent ();
var grandparent = parent.parent ();
var firstclass = grandparent.attr ('class').split(" ")[0];
infoboxtoggle.preventDefault();
grandparent.siblings ('.' + firstclass).has ('td').toggleClass ('hidden');
}
);
然后添加了一些css:
a.infoboxtoggle { float: right; } /* positions the +/- */
.hidden { display: none; } /* hides hidden rows */
tr.header.hidden { display: table-row; } /* does _not_ hide headers */
然后它奏效了:
按+/-时,会展开隐藏的行。
答案 1 :(得分:-2)
你看过http://www.mediawiki.org/wiki/Manual:Collapsible_elements了吗?它解释了如何使任何元素可折叠。