- 将分散在各JS文件中的配置项统一提取到SiteConfig对象中 - 包含stars、animation、background、hitokoto等配置模块 - GitHub相关配置包括用户名、缓存键值和过期时间 - 博客RSS地址及缓存配置迁移至config.js - 技术栈数据从硬编码移至配置文件管理 - 社交卡片动画参数统一配置化 - Artalk评论系统参数集中管理 - 添加开发环境检测逻辑 - 支持CommonJS和浏览器环境下的配置导出 - 在about.html和index.html中引入config.js脚本 - 更新about.js和main.js以使用SiteConfig配置 - 删除重复的GitHub用户名硬编码 - 调整图片路径读取方式为配置驱动 - 优化星空背景脚本的配置引用方式 - 修复本地开发环境下的一言默认文本显示问题
98 lines
2.7 KiB
JavaScript
98 lines
2.7 KiB
JavaScript
var iUp = (function () {
|
|
var t = 0,
|
|
d = 150,
|
|
clean = function () {
|
|
t = 0;
|
|
},
|
|
up = function (e) {
|
|
setTimeout(function () {
|
|
$(e).addClass("up")
|
|
}, t);
|
|
t += d;
|
|
},
|
|
down = function (e) {
|
|
$(e).removeClass("up");
|
|
},
|
|
toggle = function (e) {
|
|
setTimeout(function () {
|
|
$(e).toggleClass("up")
|
|
}, t);
|
|
t += d;
|
|
};
|
|
return {
|
|
clean: clean,
|
|
up: up,
|
|
down: down,
|
|
toggle: toggle
|
|
}
|
|
})();
|
|
|
|
$(document).ready(function () {
|
|
|
|
// 获取一言数据
|
|
// 检查是否在本地开发环境
|
|
var isLocal = location.hostname === 'localhost' || location.hostname === '127.0.0.1';
|
|
var hitokotoUrl = isLocal ? 'https://v1.hitokoto.cn/' : SiteConfig.hitokoto.apiUrl;
|
|
|
|
fetch(hitokotoUrl).then(function (res) {
|
|
return res.json();
|
|
}).then(function (e) {
|
|
$('#description').html(e.hitokoto + "<br/> -「<strong>" + e.from + "</strong>」")
|
|
}).catch(function (err) {
|
|
console.error("获取一言数据失败", err);
|
|
// 本地开发环境使用默认文本
|
|
if (isLocal) {
|
|
$('#description').html('人生天地之间,若白驹之过隙,忽然而已。<br/> -「<strong>Honesty</strong>」');
|
|
}
|
|
})
|
|
|
|
/**
|
|
* 自定义壁纸
|
|
*/
|
|
var imgUrls = JSON.parse(sessionStorage.getItem("imgUrls"));
|
|
var index = sessionStorage.getItem("index");
|
|
var $panel = $('#panel');
|
|
var date = new Date();
|
|
var dayOfWeek = date.getDay();
|
|
if (imgUrls == null) {
|
|
imgUrls = [];
|
|
index = 0;
|
|
SiteConfig.background.imagePaths.forEach(path => {
|
|
imgUrls.push(path);
|
|
});
|
|
sessionStorage.setItem("imgUrls", JSON.stringify(imgUrls));
|
|
// sessionStorage.setItem("index", index);
|
|
} else {
|
|
// if (index == imgUrls.length)
|
|
// index = 0;
|
|
// else
|
|
// index++;
|
|
// sessionStorage.setItem("index", index);
|
|
}
|
|
|
|
var imgUrl = imgUrls[dayOfWeek];
|
|
$panel.css("background", "url('" + imgUrl + "') center center no-repeat #666");
|
|
$panel.css("background-size", "cover");
|
|
|
|
$(".iUp").each(function (i, e) {
|
|
iUp.up(e);
|
|
});
|
|
|
|
$(".js-avatar")[0].onload = function () {
|
|
$(".js-avatar").addClass("show");
|
|
}
|
|
});
|
|
|
|
$('.btn-mobile-menu__icon').click(function () {
|
|
if ($('.navigation-wrapper').css('display') == "block") {
|
|
$('.navigation-wrapper').on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function () {
|
|
$('.navigation-wrapper').toggleClass('visible animated bounceOutUp');
|
|
$('.navigation-wrapper').off('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend');
|
|
});
|
|
$('.navigation-wrapper').toggleClass('animated bounceInDown animated bounceOutUp');
|
|
|
|
} else {
|
|
$('.navigation-wrapper').toggleClass('visible animated bounceInDown');
|
|
}
|
|
$('.btn-mobile-menu__icon').toggleClass('social iconfont icon-list social iconfont icon-ngleup animated fadeIn');
|
|
}); |