Модуль:CheckboxHideSpacesuitHelmet: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 2: | Строка 2: | ||
function p.CheckboxHideSpacesuitHelmet(frame) | function p.CheckboxHideSpacesuitHelmet(frame) | ||
local elementSelector = frame.args[1] | local elementSelector = frame.args[1] or ".spacesuit-helmet" | ||
local script = [=[ | |||
local | $(document).ready(function() { | ||
var elementSelector = "]=] .. elementSelector .. [=["; | |||
if (!$(elementSelector).length) { | |||
return; // Если класса нет, выходим из функции | |||
} | |||
// Кэшируем выборку элементов | |||
var $elements = $(elementSelector); | |||
// Обработчик события для чекбокса | |||
$('#toggleHideAll').off('change').on('change', function() { | |||
var isChecked = $(this).is(':checked'); | |||
// Изменение видимости элементов | |||
$elements.each(function() { | |||
var parentTr = $(this).closest('tr'); | |||
parentTr.toggle(!isChecked); | |||
}); | }); | ||
}); | }); | ||
]] | }); | ||
]=] | |||
-- | -- Генерируем HTML с JavaScript кодом | ||
return | local html = '<script type="text/javascript">' .. script .. '</script>' | ||
-- Используем frame:extensionTag для вставки | |||
return frame:extensionTag('syntaxhighlight', html) | |||
end | end | ||
return p | return p |
Текущая версия от 17:04, 14 июля 2024
Для документации этого модуля может быть создана страница Модуль:CheckboxHideSpacesuitHelmet/doc
local p = {} function p.CheckboxHideSpacesuitHelmet(frame) local elementSelector = frame.args[1] or ".spacesuit-helmet" local script = [=[ $(document).ready(function() { var elementSelector = "]=] .. elementSelector .. [=["; if (!$(elementSelector).length) { return; // Если класса нет, выходим из функции } // Кэшируем выборку элементов var $elements = $(elementSelector); // Обработчик события для чекбокса $('#toggleHideAll').off('change').on('change', function() { var isChecked = $(this).is(':checked'); // Изменение видимости элементов $elements.each(function() { var parentTr = $(this).closest('tr'); parentTr.toggle(!isChecked); }); }); }); ]=] -- Генерируем HTML с JavaScript кодом local html = '<script type="text/javascript">' .. script .. '</script>' -- Используем frame:extensionTag для вставки return frame:extensionTag('syntaxhighlight', html) end return p