150 lines
4.8 KiB
JavaScript
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);
|
|
|
|
|
|
});
|