模块:Tab:修订间差异
来自Limbo Wiki
Staf Irity(讨论 | 贡献) 小 (2.8压稿,请不要在2.8前使用,违者关我啥事,反正我说压稿就是压稿) |
Staf Irity(讨论 | 贡献) 小无编辑摘要 |
||
第22行: | 第22行: | ||
b = mw.html.create('div'):attr('class','texts'); | b = mw.html.create('div'):attr('class','texts'); | ||
a:tag("span"):attr("class","lw-treebut"):attr("id","tab-1"):attr("role","button"):wikitext(frame.args[1]); | a:tag("span"):attr("class","lw-treebut"):attr("id","tab-1"):attr("role","button"):wikitext(frame.args[1]); | ||
b:tag("div"):attr("class","lw-treediv tab- | b:tag("div"):attr("class","lw-treediv tab-1"):wikitext(frame.args[2]); | ||
i = 2; | i = 2; |
2022年11月4日 (五) 14:49的版本
使用方法:{{#invoke:Tab|a|name1|text1|name2|text2|……}}
e.g.
{{#invoke:Tab|a |标题|一段文字 |标题二|另一段文字 |标题三|第三段文字}}
标题标题二标题三
一段文字
-- Sandbox -- local p = {}; function p.a(frame) -- name|text|name|text|... if ((type(frame.args[1]) == "nil") or (type(frame.args[2]) == "nil")) then mw.log(frame.args[1]) return '1'; end -- Frame Start -- t = "file"; if not(type(frame.args["mode"]) == "nil") then t = frame.args["mode"]; end t = mw.html.create('div') :attr('class','mw-parser-output tab') :attr('data-mode',t); -- Frame End -- a = mw.html.create('div'):attr('class','tabs'); b = mw.html.create('div'):attr('class','texts'); a:tag("span"):attr("class","lw-treebut"):attr("id","tab-1"):attr("role","button"):wikitext(frame.args[1]); b:tag("div"):attr("class","lw-treediv tab-1"):wikitext(frame.args[2]); i = 2; while not(type(frame.args[i*2-1]) == "nil" or type(frame.args[i*2]) == "nil") do a:tag("span"):attr("class","lw-treebut"):attr("id","tab-" .. tostring(i)):attr("role","button"):wikitext(frame.args[i*2-1]); b:tag("div"):attr("class","lw-treediv tab-" .. tostring(i)):css("display","none"):wikitext(frame.args[2*i]); i = i+1; end t:wikitext(tostring(a),tostring(b)); t = tostring(t); return t; end function p.test(frame) mw.log(p.a(frame)); end return p; -- =p.a{args={"a","b","c","d","e"}}