MediaWiki:Gadget-GeoBox.js
Перейти к навигации
Перейти к поиску
JS-код ниже относится к гаджету «Перелистывание карт в геокарточках, основанных на шаблоне {{Геокар}}» (править описание). Связанный CSS-файл: MediaWiki:Gadget-GeoBox.css. Его использует около 400 учётных записей.
После сохранения или недавних изменений очистите кэш браузера.
/**
* Взято из https://bg.wikipedia.org/ruwiki/w/index.php?oldid=8290685 и подогнано под рувики
* Скрипт для реализации перелистывания карт в геокарточках
*/
function GeoBox_Init() {
$( '.t-geoinfobox' ).each( function() {
var $container = $( this );
var $ToggleLinksDiv = $( '<ul>' );
if ( $container.find( '.location-map' ).length < 2 ) {
return;
}
$container.find( '.location-map' ).parents( 'tr' ).each( function( idx ) {
var ThisBox = this;
var $toggle = $( '<a>' )
.attr( 'title', 'Переключить карту' )
.addClass( 'mw-ui-button' )
.text( ThisBox.getElementsByTagName('img')[0].alt )
.on( 'click', function( e ) {
$container.find( '.location-map' ).parents( 'tr' ).hide();
$( ThisBox ).show();
$ToggleLinksDiv.find( 'a' ).addClass( 'mw-ui-quiet' );
$( this ).removeClass( 'mw-ui-quiet' );
return false;
} );
var $li = $( '<li>' ).append( $toggle ).appendTo( $ToggleLinksDiv );
if ( idx !== 0 ) {
$( ThisBox ).hide();
$li.find( 'a' ).addClass( 'mw-ui-quiet' );
}
});
var $tr = $container.find( '.location-map:first' ).parents( 'tr' ).prev();
$tr.addClass( 't-geoinfobox-map-p' );
$tr.find( 'td' ).append( $ToggleLinksDiv );
$tr.show();
});
}
mw.hook( 'wikipage.content' ).add( GeoBox_Init );