참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.
- 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
- 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
- 인터넷 익스플로러 / 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
- 오페라: Ctrl-F5를 입력.
$(document).ready(function() {
$('.toggle-collapse').click(function () {
var $this = $(this);
var rowsToToggle = parseInt($this.data('rows')) || 1;
var isCollapsed = $this.data('collapsed') === true;
var $row = $this.closest('tr');
// 사용자 정의 텍스트 확인
var expandText = $this.data('expand-text') || '펼치기';
var collapseText = $this.data('collapse-text') || '접기';
// 접기/펼치기 애니메이션 처리
for (var i = 0; i < rowsToToggle; i++) {
$row = $row.next();
if ($row.length) {
var $content = $row.find('td'); // 행의 셀을 기준으로 높이 계산
if (!isCollapsed) {
// 펼치기: 현재 높이를 계산 후 애니메이션 적용
$row.addClass('collapsible-row expanded');
var currentHeight = $content.outerHeight();
$row.css('max-height', currentHeight + 'px');
} else {
// 접기: 애니메이션 후 높이를 0으로 설정
$row.removeClass('expanded');
setTimeout(function () {
$row.css('max-height', '0');
}, 10); // 트랜지션이 시작되도록 약간의 딜레이 추가
}
}
}
// 상태 토글 및 버튼 텍스트 변경
$this.data('collapsed', !isCollapsed);
$this.text($this.data('collapsed') ? expandText : collapseText);
});
// 초기 상태 설정
$('.toggle-collapse').each(function () {
var $this = $(this);
var rowsToToggle = parseInt($this.data('rows')) || 1;
var isCollapsed = $this.data('collapsed') === true;
if (isCollapsed) {
var $row = $this.closest('tr');
for (var i = 0; i < rowsToToggle; i++) {
$row = $row.next();
if ($row.length) {
$row.addClass('collapsible-row').css('max-height', '0');
}
}
}
});
// <nolinkstyle> 태그를 .nolinkstyle 클래스로 변환
$('nolinkstyle').each(function() {
var $this = $(this);
var content = $this.html();
$this.replaceWith('<span class="nolinkstyle">' + content + '</span>');
});
});