Han d116e8fcd1 🍊
2025-02-12 10:09:30 +08:00

38 lines
1.4 KiB
TypeScript

// 灯箱JS初始化======
import "../../public/assets/js/view-image.min.js";
declare const ViewImage: any;
// 灯箱JS初始化======
// Pre 滚动条======
import "overlayscrollbars/overlayscrollbars.css";
import { OverlayScrollbars } from "overlayscrollbars";
// Pre 滚动条======
// Pre Code 代码复制功能======
let copyText = null;
// Pre Code 代码复制功能======
const ArticleInit = () => {
// 灯箱JS初始化======
ViewImage && ViewImage.init("main>.vh-container>article.vh-article-main img.vh-article-img");
// 灯箱JS初始化======
// Pre 滚动条======
document.querySelectorAll("section.vh-code-box>pre.astro-code").forEach((i: any) => {
OverlayScrollbars(i, { scrollbars: { autoHide: "leave", autoHideDelay: 500, autoHideSuspend: false } });
});
// Pre 滚动条======
// Pre Code 代码复制功能======
document.querySelectorAll("section.vh-code-box>span.vh-code-copy").forEach((i: any) => {
i.vhTimer = null;
i.addEventListener("click", async () => {
if (i.vhTimer) clearTimeout(i.vhTimer);
copyText = i.parentElement.querySelector("pre.astro-code code")?.innerText;
if (!copyText) return;
await navigator.clipboard.writeText(copyText);
i.classList.add("success");
i.vhTimer = setTimeout(() => {
i.classList.remove("success");
i.vhTimer = null;
}, 1000);
});
});
// Pre Code 代码复制功能======
}
export default ArticleInit;