(function($){
// 탭 상태와 페이지 번호를 URL 파라미터로 관리
function getUrlParams() {
var params = {};
window.location.search.replace(/^\?/, '').split('&').forEach(function(pair){
if (!pair) return;
var parts = pair.split('=');
params[decodeURIComponent(parts[0])] = decodeURIComponent(parts[1]||'');
});
return params;
}
function updateUrl(tabId, paged) {
var params = getUrlParams();
if (tabId) params.tab = tabId;
if (paged) params.paged = paged;
var qs = Object.keys(params).map(function(k){
return encodeURIComponent(k)+'='+encodeURIComponent(params[k]);
}).join('&');
history.replaceState(null, null, window.location.pathname + (qs? '?' + qs : '') + window.location.hash);
}
function activateTab(tabId) {
var $tab = $('.e-n-tab-title[aria-controls="'+ tabId +'"]');
if ($tab.length && !$tab.hasClass('elementor-active')) {
$tab.trigger('click');
}
}
function getActiveTabId() {
var $p = $('.elementor-tab-content.elementor-active');
return $p.length ? $p.attr('id') : '';
}
$(window).on('elementor/frontend/init', function(){
// 1) 로드 시 URL 파라미터로 탭과 페이지 읽어서 적용
var params = getUrlParams();
if (params.tab) {
activateTab(params.tab);
}
if (params.paged) {
// 페이지네이션 클릭과 동일하게 AJAX 요청
var pid = params.tab || getActiveTabId(),
href = window.location.pathname + '?paged=' + params.paged +