مدیاویکی:Gadget-switcher.js
نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.
- فایرفاکس / سافاری: کلید Shift را نگه دارید و روی دکمهٔ Reload کلیک کنید، یا کلیدهای Ctrl-F5 یا Ctrl-R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-R)
- گوگل کروم: کلیدهای Ctrl+Shift+R را با هم فشار دهید (در رایانههای اپل مکینتاش کلیدهای ⌘-Shift-R)
- اینترنت اکسپلورر/ Edge: کلید Ctrl را نگهدارید و روی دکمهٔ Refresh کلیک کنید، یا کلیدهای Ctrl-F5 را با هم فشار دهید
- اپرا: Ctrl-F5 را بفشارید.
( function () {
'use strict';
$( function () {
$( document.querySelectorAll( '.switcher-container' ) ).each( function ( i ) {
var activeElement, $showAllRadio;
var elements = [], container = this, radioName = 'switcher-' + i;
$( this ).children().each( function () {
var self = this, $showRadio;
var $labelContainer = $( self ).find( '.switcher-label' );
var $labelText = $labelContainer.contents();
if ( !$labelText.length ) {
return;
}
elements.push( self );
$showRadio = $( '<input type="radio">' ).attr( 'name', radioName ).click( function () {
$( activeElement ).hide();
$( self ).show();
activeElement = self;
} );
$( '<label style="display:block"></label>' ).append( $showRadio, $labelText ).appendTo( container );
if ( !activeElement ) {
activeElement = self;
$showRadio.prop( 'checked', true );
} else if ( $labelContainer.is( '[data-switcher-default]' ) ) {
$showRadio.click();
} else {
$( self ).hide();
}
$labelContainer.remove();
} );
if ( elements.length > 1 ) {
$showAllRadio = $( '<input type="radio">' ).attr( 'name', radioName ).click( function () {
$( elements ).show();
activeElement = elements;
} );
$( '<label style="display:block">نمایش همه</label>' ).prepend( $showAllRadio ).appendTo( container );
} else if ( elements.length === 1 ) {
$showRadio.remove();
}
} );
} );
} )();