MediaWiki:Common.js: відмінності між версіями
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
| Рядок 20: | Рядок 20: | ||
}); | }); | ||
$('#random-articles-container').html(html); | $('#random-articles-container').html(html); | ||
}); | |||
}); | |||
$(function() { | |||
var items = $('.l-box-item'); | |||
var sections = []; | |||
items.each(function() { | |||
var href = $(this).find('a').attr('href'); | |||
if (href && href.startsWith('#')) { | |||
var target = $(href.replace(/\./g, '\\.')); | |||
if (target.length) { | |||
sections.push({item: $(this), target: target}); | |||
} | |||
} | |||
}); | |||
$(window).on('scroll', function() { | |||
var scrollPos = $(window).scrollTop() + 100; | |||
var current = null; | |||
sections.forEach(function(s) { | |||
if (s.target.offset().top <= scrollPos) { | |||
current = s.item; | |||
} | |||
}); | |||
items.removeClass('active'); | |||
if (current) { | |||
current.addClass('active'); | |||
} | |||
}); | }); | ||
}); | }); | ||
Версія за 19:39, 8 грудня 2025
$(document).ready(function() {
var apiUrl = mw.config.get('wgScriptPath') + '/api.php';
$.getJSON(apiUrl, {
action: 'query',
format: 'json',
list: 'random',
rnnamespace: '0',
rnlimit: '5', // fetch five random articles
prop: 'extracts',
exchars: '250', // limit the preview to 250 characters
exlimit: 'max',
explaintext: true
}, function(data) {
var html = '';
$.each(data.query.random, function(i, article) {
html += '<div class="random-article-preview">';
html += '<h2><a href="/wiki/' + encodeURIComponent(article.title) + '">' + article.title + '</a></h2>';
html += '<p>' + article.extract + '</p>';
html += '</div>';
});
$('#random-articles-container').html(html);
});
});
$(function() {
var items = $('.l-box-item');
var sections = [];
items.each(function() {
var href = $(this).find('a').attr('href');
if (href && href.startsWith('#')) {
var target = $(href.replace(/\./g, '\\.'));
if (target.length) {
sections.push({item: $(this), target: target});
}
}
});
$(window).on('scroll', function() {
var scrollPos = $(window).scrollTop() + 100;
var current = null;
sections.forEach(function(s) {
if (s.target.offset().top <= scrollPos) {
current = s.item;
}
});
items.removeClass('active');
if (current) {
current.addClass('active');
}
});
});