MediaWiki:Common.js: различия между версиями
Материал из SAMP
Нет описания правки |
Нет описания правки |
||
| (не показаны 24 промежуточные версии этого же участника) | |||
| Строка 3: | Строка 3: | ||
$(document).on('click','.index_elem', function(event) | $(document).on('click','.index_elem', function(event) | ||
{ | { | ||
if ($(this).hasClass('active')) { $(this).removeClass('active'); } | var target = event["target"]["parentElement"]["className"]; | ||
if (target != "index_subelems") | |||
var | { | ||
if ($(this).hasClass('active')) { $(this).removeClass('active'); } | |||
else { $(this).addClass('active'); } | |||
} | |||
}); | |||
$(document).on('click','.index_subelem', function() | |||
{ | |||
var link = $(this).html(); | |||
document.location.href = 'https://wiki.samp.world/index.php/'+link; | |||
}); | |||
mw.loader.using(['jquery']).then(function () { | |||
$(function () { | |||
if (window.innerWidth >= 768) return; | |||
$('#mw-content-text h2').each(function () | |||
{ | |||
const $header = $(this); | |||
if ($header.closest('#toc').length > 0) return; | |||
const $content = $header.nextUntil('h2'); | |||
if ($content.length === 0) return; | |||
$content.hide(); | |||
const $btn = $('<span class="arrow_hide_section">').text(''); | |||
// Добавляем кнопку | |||
$header.prepend($btn); | |||
// Вся строка заголовка кликабельна | |||
$header.css('cursor', 'pointer').click(function () { | |||
const visible = $content.is(':visible'); | |||
$content.toggle(); | |||
if (visible) { | |||
$header.removeClass('vis'); | |||
} else { | |||
$header.addClass('vis'); | |||
} | |||
}); | |||
}); | |||
}); | |||
}); | }); | ||
Текущая версия от 00:06, 2 августа 2025
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
$(document).on('click','.index_elem', function(event)
{
var target = event["target"]["parentElement"]["className"];
if (target != "index_subelems")
{
if ($(this).hasClass('active')) { $(this).removeClass('active'); }
else { $(this).addClass('active'); }
}
});
$(document).on('click','.index_subelem', function()
{
var link = $(this).html();
document.location.href = 'https://wiki.samp.world/index.php/'+link;
});
mw.loader.using(['jquery']).then(function () {
$(function () {
if (window.innerWidth >= 768) return;
$('#mw-content-text h2').each(function ()
{
const $header = $(this);
if ($header.closest('#toc').length > 0) return;
const $content = $header.nextUntil('h2');
if ($content.length === 0) return;
$content.hide();
const $btn = $('<span class="arrow_hide_section">').text('');
// Добавляем кнопку
$header.prepend($btn);
// Вся строка заголовка кликабельна
$header.css('cursor', 'pointer').click(function () {
const visible = $content.is(':visible');
$content.toggle();
if (visible) {
$header.removeClass('vis');
} else {
$header.addClass('vis');
}
});
});
});
});

