Files
2025-04-21 17:49:17 +08:00

150 lines
4.8 KiB
JavaScript

// 首页弹窗隐藏
function setupHideOnClick(elementId) {
// 获取元素
var element = document.querySelector(elementId);
// 如果元素不存在,退出函数
if (!element) {
return;
}
// 获取当前日期字符串 a2bb38a3fa
var today = new Date().toISOString().slice(0, 10);
// 检查本地存储中的日期是否与今天匹配
if (localStorage.getItem('hideDate_' + elementId) === today) {
// 如果匹配,则隐藏元素
element.style.display = 'none';
} else {
// 如果不匹配,则显示元素并添加点击事件监听器
element.style.display = 'block';
element.addEventListener('click', function() {
// 隐藏元素
element.style.display = 'none';
// 更新本地存储,保存当前日期
localStorage.setItem('hideDate_' + elementId, today);
});
}
}
// 懒加载
function initLazyLoad() {
let lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));
if ("IntersectionObserver" in window) {
let lazyImageObserver = new IntersectionObserver(function(entries, observer) {
entries.forEach(function(entry) {
if (entry.isIntersecting) {
let lazyImage = entry.target;
lazyImage.src = lazyImage.getAttribute("data-src");
lazyImage.classList.remove("lazy");
lazyImageObserver.unobserve(lazyImage);
}
});
});
lazyImages.forEach(function(lazyImage) {
lazyImageObserver.observe(lazyImage);
});
} else {
// Fallback for older browsers
let lazyLoad = function() {
let active = false;
if (active === false) {
active = true;
setTimeout(function() {
lazyImages.forEach(function(lazyImage) {
if ((lazyImage.getBoundingClientRect().top <= window.innerHeight && lazyImage.getBoundingClientRect().bottom >= 0) && getComputedStyle(lazyImage).display !== "none") {
lazyImage.src = lazyImage.getAttribute("data - src");
lazyImage.classList.remove("lazy");
lazyImages = lazyImages.filter(function(image) {
return image !== lazyImage;
});
if (lazyImages.length === 0) {
document.removeEventListener("scroll", lazyLoad);
window.removeEventListener("resize", lazyLoad);
window.removeEventListener("orientationchange", lazyLoad);
}
}
});
active = false;
}, 200);
}
};
document.addEventListener("scroll", lazyLoad);
window.addEventListener("resize", lazyLoad);
window.addEventListener("orientationchange", lazyLoad);
}
}
function showOverlay(message, duration = 2000) {
const overlay = document.createElement('div');
overlay.id = "overlay";
overlay.className = "overlay";
overlay.style.display = "flex"; // 显示遮罩层
const overlayContent = document.createElement('div');
overlayContent.className = "overlay-content";
overlayContent.textContent = message;
overlay.appendChild(overlayContent);
document.body.appendChild(overlay);
// 设置定时器隐藏遮罩层并移除它
setTimeout(function() {
document.body.removeChild(overlay);
}, duration); // 默认2秒后隐藏
}
// 复制粘贴
function copyTextToClipboard(text) {
const copyText = document.createElement('input');
copyText.type = 'text';
copyText.value = text;
copyText.style.position = 'absolute';
copyText.style.left = '-9999px';
document.body.appendChild(copyText);
// 复制功能
copyText.select();
copyText.setSelectionRange(0, 99999); // For mobile devices
document.execCommand("copy");
document.body.removeChild(copyText); // 移除输入框
}
function handleCopyButtonClick() {
const textToCopy = location.href;
copyTextToClipboard(textToCopy);
showOverlay("您已成功复制链接,快分享给好友吧~");
}
// 确保在 DOM 加载完成后执行脚本
document.addEventListener('DOMContentLoaded', function() {
// 设置首页弹窗
setupHideOnClick('._31bb2383c4');
initLazyLoad(); // 调用方法初始化懒加载
// 分享
if(document.querySelector("#ShareButton")){
}
// const GuideButton = document.querySelector("#ShareButton");
// GuideButton.addEventListener("click", handleCopyButtonClick);
});