睿能科技
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

58 lines
2.1 KiB

import "./common.js";
import "./pagination.js";
//#region js/faq.js
function setActiveNav() {
const pageNav = document.querySelector("[data-nav]")?.getAttribute("data-nav");
if (!pageNav) return;
document.querySelectorAll(".site-header__nav a").forEach((link) => {
const active = link.textContent.trim().startsWith(pageNav);
link.classList.toggle("is-active", active);
});
}
function activateFaqTab($btn) {
$btn.addClass("is-active").attr("aria-selected", "true");
$btn.siblings(".f-tabs__item").removeClass("is-active").attr("aria-selected", "false");
}
function getActiveTabId() {
return $(".f-tabs__item.is-active").attr("data-tab") || "";
}
function activateTabById(tabId) {
if (!tabId) return;
const $target = $(`.f-tabs__item[data-tab="${tabId}"]`).first();
if ($target.length) activateFaqTab($target);
}
function initTabKeywordsSearch() {
const runSearch = (tabId = getActiveTabId()) => {
const params = new URLSearchParams();
const keywords = $("[data-tab-search] [name='keywords']").val().trim();
if (tabId) params.set("cid", tabId);
if (keywords) params.set("keywords", keywords);
const query = params.toString();
window.location.href = query ? `${window.location.pathname}?${query}` : window.location.pathname;
};
$("[data-tab-search]").on("submit", function(event) {
event.preventDefault();
runSearch();
});
$(".f-tabs__item").on("click", function() {
activateFaqTab($(this));
runSearch($(this).attr("data-tab") || "");
});
const searchParams = new URLSearchParams(window.location.search);
const tabParam = searchParams.get("cid");
const keywordsParam = searchParams.get("keywords");
if (keywordsParam) $("[data-tab-search] [name='keywords']").val(keywordsParam);
if (tabParam) activateTabById(tabParam);
}
$(function() {
setActiveNav();
$(".f-item__trigger").on("click", function() {
const $item = $(this).closest(".f-item");
const willOpen = !$item.hasClass("is-open");
$(".f-item.is-open").not($item).removeClass("is-open").find(".f-item__trigger").attr("aria-expanded", "false");
$item.toggleClass("is-open", willOpen);
$(this).attr("aria-expanded", willOpen ? "true" : "false");
});
initTabKeywordsSearch();
});
//#endregion