打开/关闭搜索
搜索
打开/关闭菜单
1.4K
10.6K
86
30.5K
Cookie☆Wiki
导航
首页
alt-z
最近更改
alt-r
随机页面
alt-x
帮助
沙盒
特殊页面
alt-q
上传文件
alt-u
常用
曲奇简介
用语列表
人物一览
曲奇团体
曲奇年表
本篇列表
榜单列表
专辑列表
创作
音MAD
曲奇静画
曲奇实况
曲奇素材
BB剧场
漫画
同人游戏
曲奇实况
与曲奇有交集的内容
淫梦
东方Project
漫画日本昔话
biim兄贵致敬
QVC福岛
哲♂学
创价
YouTuber
恒心教
VOCALOID
运营批判
友情链接
Cookie☆贴吧
真夏夜的银梦贴吧
中文音MAD维基
潮学维基
银饼视频搜索站
中文曲奇维基Fandom站[已弃用]
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
创建账号
登录
alt-o
查看“︁模块:Infobox/item/multidata”︁的源代码
来自Cookie☆Wiki
查看
阅读
查看源代码
查看历史
associated-pages
模块
讨论
更多操作
←
模块:Infobox/item/multidata
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local p = {} -- 获取每一格的背景颜色, 规则为: -- 在奇数行: 深、浅交错; 在偶数行: 浅、深交错 function p.getBackgroundColor(i, perRow) local isEvenColumn = ((math.floor((i-1)/perRow)%2)==0) local delta = 0 if not isEvenColumn then delta = 1 end if (((i-1)%perRow)+delta) % 2 == 1 then return nil end return '#e5ded6' end -- 构建一个数据项 function p.makeDataItem(frame, args) -- args: label, data, bgcolor return frame:expandTemplate{ title = 'Infobox/item/data', args = args } end -- 构建信息框中多行多列的数据项 function p.make() local frame = mw.getCurrentFrame() local parent = frame:getParent() local itemsPerRow = string.gsub(parent.args['row-items'] or '', '%s+', '') if itemsPerRow == 'flex' then itemsPerRow = 0 else itemsPerRow = tonumber(itemsPerRow) if itemsPerRow == nil or itemsPerRow <= 0 then error('"row-items" should be either a positive integer or "flex" or empty (= "flex")') end end -- 将非空的未命名参数 (数据项) 的编号存入 unnamed 表中 local count = 0 local unnamed = {} for k, v in pairs(parent.args) do if tonumber(k) ~= nil and v ~= nil and string.gsub(v, '%s+', '') ~= '' then unnamed[#unnamed + 1] = k end end if #unnamed == 0 then return '' end local result = '' result = result .. '<div class="pi-item-wrap">' if itemsPerRow == 0 then -- flex for i = 1, #unnamed do result = result .. p.makeDataItem(frame, { label = parent.args['label' .. unnamed[i]], data = parent.args[unnamed[i]], bgcolor = p.getBackgroundColor(i, 65535), }) end else local percentage = math.floor(10000 / itemsPerRow) / 100 percentage = tostring(percentage) .. '%' for i = 1, #unnamed do result = result .. p.makeDataItem(frame, { label = parent.args['label' .. unnamed[i]], data = parent.args[unnamed[i]], bgcolor = p.getBackgroundColor(i, 65535), width = percentage, }) end end result = result .. '</div>' return result end return p
该页面使用的模板:
模块:Infobox/item/multidata/doc
(
查看源代码
)
返回
模块:Infobox/item/multidata
。