مدیاویکی:Gadget-switcher.js

از اسلامیکال
نسخهٔ تاریخ ‏۱۲ ژانویهٔ ۲۰۲۳، ساعت ۱۷:۰۷ توسط Aboammar (بحث | مشارکت‌ها) (صفحه‌ای تازه حاوی «( 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 ( !$lab...» ایجاد کرد)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

نکته: پس از انتشار ممکن است برای دیدن تغییرات نیاز باشد که حافظهٔ نهانی مرورگر خود را پاک کنید.

  • فایرفاکس / سافاری: کلید 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();
			}
		} );
	} );
} )();