MediaWiki:Script/mainpage.js
Материал из Справочника наблюдателя
Замечание. Возможно, после сохранения вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl-F5 или Ctrl-R (⌘-R на Mac)
- Google Chrome: Нажмите Ctrl-Shift-R (⌘-Shift-R на Mac)
- Internet Explorer: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl-F5
- Opera: Выберите очистку кэша в меню Инструменты → Настройки
'use strict';
/*jshint jquery:true */
/* global mw */
var titi;
var offset=0;
var offsetObj = {};
function loadNewsP( offset, limit, ty ) {
return JSON.parse(
$.ajax({
url:mw.util.wikiScript('api'),
data: { action: 'parse', format: 'json', text:'{{' + 'Chronicle:Select|limit=' + limit + '|stream=' + ty + '|offset=' + offset + '}}', prop: 'text' },
async:false
})
.responseText
);
}
function loadNews( offset ) {
return JSON.parse(
$.ajax({
url:mw.util.wikiScript('api'),
data: { action: 'parse', format: 'json', text:'{{' + 'Chronicle:Select|limit=5|offset=' + offset + '}}', prop: 'text' },
async:false
})
.responseText
);
}
$('.mp-button').mouseenter( function () {
// $(this).css('background-color','red');
// $(this).children('.mp-text').animate({ opacity: "hide" }, "slow");
var bu = this;
$( this ).children( '.mp-text' ).append( '<i class="fa fa-spinner fa-pulse mp-indicator" style="margin-left: 1em"></i>' );
titi = setTimeout ( function () {
$(bu).css('background-color','#FFFFAA').children('.mp-text').css('display','none');
$(bu).children('.mp-text-alt').css('display','table-cell');
// $(this).children('.mp-text-alt').animate({ opacity: "show" }, "slow");
}, 800);
});
$('.mp-button').mouseleave( function () {
clearTimeout(titi);
$( this ).find( '.mp-indicator' ).remove();
// $(this).css('background-color','red');
// $(this).children('.mp-text').animate({ opacity: "hide" }, "slow");
$(this).css('background-color','#7F8F9F').children('.mp-text').css('display','table-cell');
$(this).children('.mp-text-alt').css('display','none');
// $(this).children('.mp-text-alt').animate({ opacity: "show" }, "slow");
});
$('#mp-ajax-news').click( function () {
offset = offset+5;
var news = loadNews( offset );
$(this).before( news.parse.text['*'] );
});
$('.mp-ajax-news').click( function () {
var ty = $(this).data('type');
if ( offsetObj[ty] === undefined ) {
offsetObj[ty] = $(this).data('limit');
}
var news = loadNewsP( offsetObj[ty], 2, ty );
offsetObj[ty] += 2;
$(this).before( news.parse.text['*'] );
});