小柠檬追剧

小柠檬追剧

异次元漫画正版

异次元漫画app正版

小柿子追剧

小柿子追剧

电影猎手

电影猎手

橘汁追剧

橘汁追剧软件

ACFAN

ACFUN流鼻血版百度

ACFAN下载流鼻版

acfun黄标

18comic

18comic

18comic

18comic

18comic

囧次元

囧次元

囧次元

囧次元

囧次元

囧次元

拷贝漫画正版

拷贝漫画

拷贝漫画

海棠书屋

海棠书屋

殇痕画质助手

殇痕画质助手

泰剧兔

泰剧兔

香香漫画

香香漫画

喵趣漫画

喵趣漫画

喵趣漫画

喵趣漫画

喵趣漫画

喵趣漫画

鹿谷社区

鹿谷社区游戏盒

鹿谷社区游戏库

鹿谷社区app

鹿谷社区

一起看app

一起看手机版app

一起看

黄豆魔改短剧

黄豆魔改短剧

横风动漫app

横风动漫

横风动漫

横风动漫

横风动漫旧版

横风动漫正版

黄果短剧

黄果短剧

黄果短剧

黄果短剧正版

黄果短剧app

荐片电视版

荐片app

荐片

荐片app

荐片ios

栗子漫画

栗子漫画app

栗子漫画软件

栗子漫画

网飞猫ncat

网飞猫电视tv版

网飞猫正版

泰剧兔

泰剧兔app

泰剧兔

网飞猫

网飞猫追剧app

一起看tv

一起看影视

追剧达人

追剧达人2026

追剧达人

追剧达人正版

追剧猫pro

追剧猫影视

漫蛙3漫蛙3manwa3

age动漫

age动漫app

age动漫app

age动漫app正版

age动漫app

age动漫app

age动漫

age动漫app

age动漫网

age动漫正版app

ai风月

ai风月无限制

Gooka AI

爱看机器人

rubii

ai风月破甲

AO3

AO3

AO3

AO3

ao3阅读器

ao3阅读器

ao3阅读器

ao3阅读器

ao3阅读器

AO3

flai

freeok

Hanime

iwara app

libvio

picacg

包子漫画

bimobimo

bimobimo

bimobimo ai

笔趣阁app

笔趣阁

哔咔漫画app正版

哔咔漫画app官方正版

哔咔漫画

哔咔漫画仲夏版

笔趣阁

bomtoon漫画

bomtoon台版

bomtoon正版下载

笔趣阁app免费版

笔趣阁app下载

笔趣阁纯净版

笔趣阁app

笔趣阁无广告版

笔趣阁app

笔趣阁下载

bubbly

bubblyai

bubblyai聊天软件

包子漫画正版

包子漫画去广告版

包子漫画app

包子漫画无广告

拷贝漫画

拷贝漫画

拷贝漫画

蛋蛋分享库

蛋蛋分享库

蛋蛋分享库app下载

蛋蛋分享库app

蛋蛋分享库

蛋蛋分享库app

蛋蛋分享库免费版

蛋蛋分享库

蛋蛋分享库游戏

蛋蛋分享库正版

电子魅魔

电子魅魔ai

动漫共和国

动漫共和国

动漫共和国(纯净版)

动漫共和国

动漫共和国iOS

动漫共和国

动漫共和国

动漫共和国无广告版

动漫共和国app

动漫共和国正版

电子魅魔ai聊天软件

emochi

emochi 无限制

feelinai

feelinai中文版

feelinai正版

立即开启自由AI角色互动

flai无限对话版

freeok

freeok免费追剧

freeokpro追剧

freeok影视追剧网

galgame直装安装包

galgame

galgame游戏库

galgame社区

galgame移植游戏

Gooka

Gooka无限宝石版

Hanime

Hanime动漫

Hanime动漫app

Hanime动漫

黄豆魔改短剧app

黄豆魔改短剧app

黄豆魔改短剧

黄豆魔改短剧正版

爱看机器人app

iKanBot机器人

iKanBot追剧免费

ikanbot爱看机器人

iwara

iwara

iwara app

iwara中文站

jmcomic2

jmcomic2

jmcomic2

jmcomic2安装包

jmcomic2.0 app

jmcomic2漫画

jmcomic2

jmcomic2正版

jmcomic3.0安装包

jmcomic3漫画

jmcomic3.0正版

jmcomic3.0

jmcomic3

jmcomic3

jmcomic2

jmcomic.2.0

jmcomic3

jmcomic3

jmcomic3

jomcomic

拷贝漫画

Kazumi纯净版

Kazumi动漫

Kazumi动漫正版

Kazumi

kazumi

lanerc正版app

lanerc动漫

lanerc

lanerc

lanerc正版

libivio在线看剧

libvio

libvio

libvio

libvio追剧

libvio在线追剧

漫蛙2

漫蛙2

漫蛙2waman正版_2

漫蛙3正版

漫蛙3

漫蛙2

meimoduai

meimoduai

meimodu

meimodu无限电量

meimodu正版下载

miraimind

miraimind聊天软件

miraimind正版

miyu无限钻石

momoodai聊天软件

momood

momood

喵趣漫画app

喵趣漫画复活版

mufyai

mufyai无限猫粮

漫蛙2waman正版

nimooai聊天

nimooai

nimooai正版

omofun动漫

omofun动漫

omofun动漫

omofun动漫app

omofun动漫app

omofun动漫下载

omofun动漫app

omofun动漫正版

omofun动漫网

omofun

picacg正版

picacg

picacg漫画

picacg免vip版

picacg正版

哔咔漫画

poipiku正版

poipiku app

poipiku

poipiku正版

poipiku盒子

qooapp

qooapp正版

qooapp版

qooapp下载

qooapp正版

rubiiai聊天软件

rubii

saylo复活版

sayloai

saylo

saylo无限畅聊

talai

talai

talai正版

talkmaker捡手机

talkmaker聊天软件

talkmaker中文版

talkmaker

talkmaker免费版

tofai

tofai旧版

tofai国际服

tofai无限畅聊

vsoul

vsoul ai

vsoul中文版

异次元漫画app

异次元漫画

追剧达人app

追影猫影视

追影猫app

查看:330 回复:4

代码样式优化下

2026-06-17发布 湖南

代码样式需要优化下

<style>
/* 节日弹窗样式 */
.festival-popup {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.7);
display: flex;
align-items: center;
justify-content: center;
z-index: 999999;
cursor: pointer;
opacity: 0;
animation: fadeIn 0.3s forwards;
}

/* 海报图片样式 */
.festival-popup img {
max-width: 90%;
max-height: 90vh;
object-fit: contain;
border-radius: 12px;
}

/* 关闭按钮 × */
.close-btn {
position: absolute;
top: 20px;
right: 20px;
width: 44px;
height: 44px;
background: rgba(0, 0, 0, 0.5);
color: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}

/* 淡入动画 */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
</style>

<script>
document.addEventListener('DOMContentLoaded', function () {

// ==========================
// 🎨 在这里替换你的海报图片
// ==========================

// 阳历节日
const solarList = [
{ name: "元旦", img: "https://picsum.photos/id/1/800/1000" },
{ name: "情人节", img: "https://picsum.photos/id/2/800/1000" },
{ name: "妇女节", img: "https://picsum.photos/id/3/800/1000" },
{ name: "愚人节", img: "https://picsum.photos/id/4/800/1000" },
{ name: "劳动节", img: "https://picsum.photos/id/5/800/1000" },
{ name: "儿童节", img: "https://picsum.photos/id/6/800/1000" },
{ name: "教师节", img: "https://picsum.photos/id/7/800/1000" },
{ name: "国庆节", img: "https://picsum.photos/id/8/800/1000" },
{ name: "双十一", img: "https://picsum.photos/id/9/800/1000" },
{ name: "圣诞节", img: "https://picsum.photos/id/10/800/1000" }
];

// 农历节日
const lunarList = [
{ name: "春节", img: "https://picsum.photos/id/11/800/1000" },
{ name: "元宵节", img: "https://picsum.photos/id/12/800/1000" },
{ name: "端午节", img: "https://picsum.photos/id/13/800/1000" },
{ name: "七夕节", img: "https://picsum.photos/id/14/800/1000" },
{ name: "中秋节", img: "https://picsum.photos/id/15/800/1000" },
{ name: "重阳节", img: "https://picsum.photos/id/16/800/1000" }
];

// 二十四节气
const solarTermsList = [
{ name: "立春", img: "https://picsum.photos/id/17/800/1000" },
{ name: "雨水", img: "https://picsum.photos/id/18/800/1000" },
{ name: "惊蛰", img: "https://picsum.photos/id/19/800/1000" },
{ name: "春分", img: "https://picsum.photos/id/20/800/1000" },
{ name: "清明", img: "https://picsum.photos/id/21/800/1000" },
{ name: "谷雨", img: "https://picsum.photos/id/22/800/1000" },
{ name: "立夏", img: "https://picsum.photos/id/23/800/1000" },
{ name: "小满", img: "https://picsum.photos/id/24/800/1000" },
{ name: "芒种", img: "https://picsum.photos/id/25/800/1000" },
{ name: "夏至", img: "https://picsum.photos/id/26/800/1000" },
{ name: "小暑", img: "https://picsum.photos/id/27/800/1000" },
{ name: "大暑", img: "https://picsum.photos/id/28/800/1000" },
{ name: "立秋", img: "https://picsum.photos/id/29/800/1000" },
{ name: "处暑", img: "https://picsum.photos/id/30/800/1000" },
{ name: "白露", img: "https://picsum.photos/id/31/800/1000" },
{ name: "秋分", img: "https://picsum.photos/id/32/800/1000" },
{ name: "寒露", img: "https://picsum.photos/id/33/800/1000" },
{ name: "霜降", img: "https://picsum.photos/id/34/800/1000" },
{ name: "立冬", img: "https://picsum.photos/id/35/800/1000" },
{ name: "小雪", img: "https://picsum.photos/id/36/800/1000" },
{ name: "大雪", img: "https://picsum.photos/id/37/800/1000" },
{ name: "冬至", img: "https://picsum.photos/id/38/800/1000" },
{ name: "小寒", img: "https://picsum.photos/id/39/800/1000" },
{ name: "大寒", img: "https://picsum.photos/id/40/800/1000" }
];

// ==========================
// 🔧 下方为系统逻辑,请勿修改
// ==========================

const solarMap = {
"元旦": "01-01", "情人节": "02-14", "妇女节": "03-08", "愚人节": "04-01",
"劳动节": "05-01", "儿童节": "06-01", "教师节": "09-10", "国庆节": "10-01",
"双十一": "11-11", "圣诞节": "12-25"
};

const lunarMap = {
"春节": "01-01", "元宵节": "01-15", "端午节": "05-05",
"七夕节": "07-07", "中秋节": "08-15", "重阳节": "09-09"
};

// 获取农历日期
function getLunarDate(date) {
const lunarInfo = [0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0];
const solarMonth = [31,28,31,30,31,30,31,31,30,31,30,31];
function isLeapYear(y) { return (y%4==0&&y%100!=0)||(y%400==0); }
function lYearDays(y) { let sum=348; for(let i=0x8000;i>0x8;i>>=1) sum+=(lunarInfo[y-1900]&i)?1:0; return sum+leapDays(y); }
function leapMonth(y) { return lunarInfo[y-1900]&0xf; }
function leapDays(y) { return leapMonth(y)?(lunarInfo[y-1900]&0x10000?30:29):0; }
function monthDays(y,m){ return lunarInfo[y-1900]&(0x10000>>m)?30:29; }

let y = date.getFullYear(), m = date.getMonth(), d = date.getDate();
if(y<1900||y>2100) return null;
let total = 0;
for(let i=1900;i<y;i++) total+=lYearDays(i);
if(isLeapYear(y)&&m>1) total++;
for(let i=0;i<m;i++) total+=solarMonth[i]; total+=d;
let ly=1900; while(total>lYearDays(ly)){ total-=lYearDays(ly); ly++; }
let lm=1,leap=leapMonth(ly),isLeap=false;
while(true){
let md=monthDays(ly,lm,lunarInfo);
if(leap&&lm==leap&&!isLeap){ md=leapDays(ly); isLeap=true; }
else{ if(total<=md) break; total-=md; lm++; isLeap=false; }
}
return `${String(lm).padStart(2,"0")}-${String(total).padStart(2,"0")}`;
}

// 获取节气
function getSolarTerm(date){
const terms = ["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"];
const baseDate = new Date(2000,0,6,2,5,0);
const ts = (Date.UTC(date.getFullYear(),date.getMonth(),date.getDate()) - baseDate.getTime()) / 86400000;
return terms[Math.floor((ts + 21.16) / 15.218425) % 24];
}

// 获取今天信息
const today = new Date();
const solarKey = `${String(today.getMonth()+1).padStart(2,0)}-${String(today.getDate()).padStart(2,0)}`;
const lunarKey = getLunarDate(today);
const currentTerm = getSolarTerm(today);
const storageKey = `popup_${solarKey}`;

// 优先级匹配:阳历 → 农历 → 节气
let todayImage = null;
for (let item of solarList) { if (solarMap[item.name] === solarKey) { todayImage = item.img; break; } }
if (!todayImage && lunarKey) { for (let item of lunarList) { if (lunarMap[item.name] === lunarKey) { todayImage = item.img; break; } } }
if (!todayImage) { for (let item of solarTermsList) { if (item.name === currentTerm) { todayImage = item.img; break; } } }

// 弹出逻辑(图片加载成功才显示)
if (todayImage && !localStorage.getItem(storageKey)) {
const popup = document.createElement("div");
popup.className = "festival-popup";

const img = new Image();
img.src = todayImage;
img.onload = function () {
popup.innerHTML = `<img src="${todayImage}" alt="节日海报"><div class="close-btn">×</div>`;
document.body.appendChild(popup);

// 点击背景关闭
popup.onclick = function (e) {
if (e.target === popup) {
popup.remove();
localStorage.setItem(storageKey, "1");
}
};

// 点击×关闭
popup.querySelector(".close-btn").onclick = function () {
popup.remove();
localStorage.setItem(storageKey, "1");
};
};
}
});
</script>

打赏
点赞
收藏
分享
暂无签名