미디어위키:Common.js: 두 판 사이의 차이

(내용을 "$(document).ready(function() { var toggleBtns = $('.toggleBtn'); toggleBtns.each(function() { var toggleId = $(this).attr("id"); var contentId = toggleId.replace("toggle", "collapsible"); var content = $("#" + contentId); var toggleTextId = toggleId.replace("toggle", "toggleText"); var toggleText = $("#" + toggleTextId); content.hide(); $(this).click(function() { content...."(으)로 바꿈)
태그: 대체됨
편집 요약 없음
1번째 줄: 1번째 줄:
$(document).ready(function() {
/* 사용자 정의 펼치기 · 접기 */
    var toggleBtns = $('.toggleBtn');
$( function () {
    toggleBtns.each(function() {
 
        var toggleId = $(this).attr("id");
$( '.toggleBtn' ).each( function () {
        var contentId = toggleId.replace("toggle", "collapsible");
 
        var content = $("#" + contentId);
var $toggle = $( this );
        var toggleTextId = toggleId.replace("toggle", "toggleText");
var toggleId = $toggle.attr( 'id' );
        var toggleText = $("#" + toggleTextId);
 
       
if ( !toggleId ) {
        content.hide();
return;
       
}
        $(this).click(function() {
 
            content.slideToggle(300);
var contentId = toggleId.replace( 'toggle', 'collapsible' );
            if (content.css("display") == "none") {
var textId = toggleId.replace( 'toggle', 'toggleText' );
                toggleText.html("[ 펼치기 · 접기 ]");
 
            } else {
var $content = $( '#' + contentId );
                toggleText.html("[ 펼치기 · 접기 ]");
var $text = $( '#' + textId );
            }
 
        });
if ( !$content.length ) {
    });
return;
});
}
 
/*
* 처음에는 접힌 상태
*/
$content.hide();
 
$toggle
.attr( 'aria-expanded', 'false' )
.css( 'cursor', 'pointer' );
 
$toggle.on( 'click', function ( event ) {
 
event.preventDefault();
 
/*
* 빠르게 여러 번 클릭했을 때
* 애니메이션이 계속 쌓이는 현상 방지
*/
$content.stop( true, false );
 
if ( $content.is( ':visible' ) ) {
 
/*
* 접기
*/
$content.slideUp( {
duration: 300,
easing: 'swing',
 
complete: function () {
 
/*
* jQuery 애니메이션 중 생성된
* 불필요한 스타일 제거
*/
$content.css( {
height: '',
paddingTop: '',
paddingBottom: '',
marginTop: '',
marginBottom: '',
overflow: ''
} );
 
/*
* 접힌 상태만 유지
*/
$content.hide();
}
} );
 
$toggle.attr(
'aria-expanded',
'false'
);
 
} else {
 
/*
* 펼치기
*/
$content.slideDown( {
duration: 300,
easing: 'swing',
 
complete: function () {
 
/*
* 애니메이션이 끝난 뒤
* height / margin / padding 등을 제거해
* 원래 레이아웃으로 복귀
*/
$content.css( {
height: '',
paddingTop: '',
paddingBottom: '',
marginTop: '',
marginBottom: '',
overflow: ''
} );
}
} );
 
$toggle.attr(
'aria-expanded',
'true'
);
}
 
if ( $text.length ) {
$text.html(
'[ 펼치기 · 접기 ]'
);
}
 
} );
 
} );
 
} );

2026년 8월 20일 (목) 13:41 판

/* 사용자 정의 펼치기 · 접기 */
$( function () {

	$( '.toggleBtn' ).each( function () {

		var $toggle = $( this );
		var toggleId = $toggle.attr( 'id' );

		if ( !toggleId ) {
			return;
		}

		var contentId = toggleId.replace( 'toggle', 'collapsible' );
		var textId = toggleId.replace( 'toggle', 'toggleText' );

		var $content = $( '#' + contentId );
		var $text = $( '#' + textId );

		if ( !$content.length ) {
			return;
		}

		/*
		 * 처음에는 접힌 상태
		 */
		$content.hide();

		$toggle
			.attr( 'aria-expanded', 'false' )
			.css( 'cursor', 'pointer' );

		$toggle.on( 'click', function ( event ) {

			event.preventDefault();

			/*
			 * 빠르게 여러 번 클릭했을 때
			 * 애니메이션이 계속 쌓이는 현상 방지
			 */
			$content.stop( true, false );

			if ( $content.is( ':visible' ) ) {

				/*
				 * 접기
				 */
				$content.slideUp( {
					duration: 300,
					easing: 'swing',

					complete: function () {

						/*
						 * jQuery 애니메이션 중 생성된
						 * 불필요한 스타일 제거
						 */
						$content.css( {
							height: '',
							paddingTop: '',
							paddingBottom: '',
							marginTop: '',
							marginBottom: '',
							overflow: ''
						} );

						/*
						 * 접힌 상태만 유지
						 */
						$content.hide();
					}
				} );

				$toggle.attr(
					'aria-expanded',
					'false'
				);

			} else {

				/*
				 * 펼치기
				 */
				$content.slideDown( {
					duration: 300,
					easing: 'swing',

					complete: function () {

						/*
						 * 애니메이션이 끝난 뒤
						 * height / margin / padding 등을 제거해
						 * 원래 레이아웃으로 복귀
						 */
						$content.css( {
							height: '',
							paddingTop: '',
							paddingBottom: '',
							marginTop: '',
							marginBottom: '',
							overflow: ''
						} );
					}
				} );

				$toggle.attr(
					'aria-expanded',
					'true'
				);
			}

			if ( $text.length ) {
				$text.html(
					'[ 펼치기 · 접기 ]'
				);
			}

		} );

	} );

} );