模块:Tab:修订间差异
来自Limbo Wiki Mirror
 创建页面,内容为“local p = {};  function p.a(frame) -- name|text|name|text|... 	 	if ((type(frame.args[0]) == "nil") or (type(frame.args[1]) == "nil")) then 		mw.log(type(frame.args[0])) 		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 =…”  | 
				小 已从limbowiki:模块:Tab导入6个版本  | 
				||
| (未显示1个用户的5个中间版本) | |||
| 第1行: | 第1行: | ||
-- Sandbox --  | |||
local p = {};  | local p = {};  | ||
function p.a(frame) -- name|text|name|text|...  | function p.a(frame) -- name|text|name|text|...  | ||
	if ((type(frame.args[  | 	if ((type(frame.args[1]) == "nil") or (type(frame.args[2]) == "nil")) then  | ||
		mw.log  | 		mw.log(frame.args[1])  | ||
		return '1';  | 		return '1';  | ||
	end  | 	end  | ||
| 第20行: | 第21行: | ||
	a = mw.html.create('div'):attr('class','tabs');  | 	a = mw.html.create('div'):attr('class','tabs');  | ||
	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-  | 	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('<div class="title">'..frame.args[1].."</div>"..frame.args[2]);  | ||
	i =   | 	i = 2;  | ||
	while not(type(frame.args[i*2]) == "nil" or type(frame.args[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]);  | 		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+1  | 		b:tag("div"):attr("class","lw-treediv tab-" .. tostring(i)):css("display","none"):wikitext('<div class="title">'..frame.args[i*2-1].."</div>"..frame.args[2*i]);  | ||
		i = i+1;  | |||
	end  | 	end  | ||
	t:wikitext(tostring(a),tostring(b));  | 	t:wikitext(tostring(a),tostring(b));  | ||
	t = tostring(t);  | 	t = tostring(t);  | ||
	return t;  | 	return t;  | ||
end  | end  | ||
return p;  | return p;  | ||
-- =p.a{args={"a","b","c","d","e"}}  | -- =p.a{args={"a","b","c","d","e"}}  | ||
2025年6月26日 (四) 13:42的最新版本
使用方法:{{#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('<div class="title">'..frame.args[1].."</div>"..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('<div class="title">'..frame.args[i*2-1].."</div>"..frame.args[2*i]);
		i = i+1;
	end
	
	t:wikitext(tostring(a),tostring(b));
	t = tostring(t);
	return t;
end
return p;
-- =p.a{args={"a","b","c","d","e"}}
