/* 作者: imsyy 主页:https://www.imsyy.top/ GitHub:https://github.com/imsyy/home 版权所有,请勿删除 */ //弹窗样式 iziToast.settings({ timeout: 10000, progressBar: false, close: false, closeOnEscape: true, position: 'topCenter', transitionIn: 'bounceInDown', transitionOut: 'flipOutX', displayMode: 'replace', layout: '1', backgroundColor: '#00000040', titleColor: '#efefef', messageColor: '#efefef', icon: 'Fontawesome', iconColor: '#efefef', }); /* 鼠标样式 */ const body = document.querySelector("body"); const element = document.getElementById("g-pointer-1"); const element2 = document.getElementById("g-pointer-2"); const halfAlementWidth = element.offsetWidth / 2; const halfAlementWidth2 = element2.offsetWidth / 2; function setPosition(x, y) { element2.style.transform = `translate(${x - halfAlementWidth2 + 1}px, ${y - halfAlementWidth2 + 1}px)`; } body.addEventListener('mousemove', (e) => { window.requestAnimationFrame(function () { setPosition(e.clientX, e.clientY); }); }); //加载完成后执行 window.addEventListener('load', function () { //载入动画 $('#loading-box').attr('class', 'loaded'); $('#bg').css("cssText", "transform: scale(1);filter: blur(0px);transition: ease 1.5s;"); $('.cover').css("cssText", "opacity: 1;transition: ease 1.5s;"); $('#section').css("cssText", "transform: scale(1) !important;opacity: 1 !important;filter: blur(0px) !important"); //用户欢迎 setTimeout(function () { iziToast.show({ timeout: 2500, icon: false, title: hello, message: '欢迎来到我的主页' }); }, 800); //延迟加载音乐播放器 let element = document.createElement("script"); element.src = "./js/music.js"; document.body.appendChild(element); //中文字体缓加载-此处写入字体源文件 (暂时弃用) //先行加载简体中文子集,后续补全字集 //由于压缩过后的中文字体仍旧过大,可转移至对象存储或 CDN 加载 // const font = new FontFace( // "MiSans", // "url(" + "./font/MiSans-Regular.woff2" + ")" // ); // document.fonts.add(font); //移动端去除鼠标样式 if (Boolean(window.navigator.userAgent.match(/AppWebKit.*Mobile.*/))) { $('#g-pointer-2').css("display", "none"); } }, false) setTimeout(function () { $('#loading-text').html("字体及文件加载可能需要一定时间") }, 3000); // 新春灯笼 ( 需要时可取消注释 ) // new_element=document.createElement("link"); // new_element.setAttribute("rel","stylesheet"); // new_element.setAttribute("type","text/css"); // new_element.setAttribute("href","./css/lantern.css"); // document.body.appendChild(new_element); // new_element=document.createElement("script"); // new_element.setAttribute("type","text/javascript"); // new_element.setAttribute("src","./js/lantern.js"); // document.body.appendChild(new_element); //获取一言 fetch('https://v1.hitokoto.cn?max_length=24') .then(response => response.json()) .then(data => { $('#hitokoto_text').html(data.hitokoto) $('#from_text').html(data.from) }) .catch(console.error) let times = 0; $('#hitokoto').click(function () { if (times == 0) { times = 1; let index = setInterval(function () { times--; if (times == 0) { clearInterval(index); } }, 1000); fetch('https://v1.hitokoto.cn?max_length=24') .then(response => response.json()) .then(data => { $('#hitokoto_text').html(data.hitokoto) $('#from_text').html(data.from) }) .catch(console.error) } else { iziToast.show({ timeout: 1000, icon: "fa-solid fa-circle-exclamation", message: '你点太快了吧' }); } }); //获取天气 //请前往 https://www.mxnzp.com/doc/list 申请 app_id 和 app_secret //请前往 https://dev.qweather.com/ 申请 key const add_id = "wrknltonr0foslhs"; // app_id const app_secret = "Nlh1c0F6d0ZDU2pDR0J3YVBVbkhudz09"; // app_secret const key = "433f0c48615a48dfaf2f2b2444297e79" // key function getWeather() { fetch("https://www.mxnzp.com/api/ip/self?app_id=" + add_id + "&app_secret=" + app_secret) .then(response => response.json()) .then(data => { let str = data.data.city let city = str.replace(/市/g, '') $('#city_text').html(city); fetch("https://geoapi.qweather.com/v2/city/lookup?location=" + city + "&number=1&key=" + key) .then(response => response.json()) .then(location => { let id = location.location[0].id fetch("https://devapi.qweather.com/v7/weather/now?location=" + id + "&key=" + key) .then(response => response.json()) .then(weather => { $('#wea_text').html(weather.now.text) $('#tem_text').html(weather.now.temp + "°C ") $('#win_text').html(weather.now.windDir) $('#win_speed').html(weather.now.windScale + "级") }) }) }) .catch(console.error); } getWeather(); let wea = 0; $('#upWeather').click(function () { if (wea == 0) { wea = 1; let index = setInterval(function () { wea--; if (wea == 0) { clearInterval(index); } }, 60000); getWeather(); iziToast.show({ timeout: 2000, icon: "fa-solid fa-cloud-sun", message: '实时天气已更新' }); } else { iziToast.show({ timeout: 1000, icon: "fa-solid fa-circle-exclamation", message: '请稍后再更新哦' }); } }); //获取时间 let t = null; t = setTimeout(time, 1000); function time() { clearTimeout(t); dt = new Date(); let y = dt.getYear() + 1900; let mm = dt.getMonth() + 1; let d = dt.getDate(); let weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; let day = dt.getDay(); let h = dt.getHours(); let m = dt.getMinutes(); let s = dt.getSeconds(); if (h < 10) { h = "0" + h; } if (m < 10) { m = "0" + m; } if (s < 10) { s = "0" + s; } $("#time").html(y + " 年 " + mm + " 月 " + d + " 日 " + "" + weekday[day] + "
" + "" + h + ":" + m + ":" + s + ""); t = setTimeout(time, 1000); } //链接提示文字 $("#social").mouseover(function () { $("#social").css({ "background": "rgb(0 0 0 / 25%)", 'border-radius': '6px', "backdrop-filter": "blur(5px)" }); $("#link-text").css({ "display": "block", }); }).mouseout(function () { $("#social").css({ "background": "none", "border-radius": "6px", "backdrop-filter": "none" }); $("#link-text").css({ "display": "none" }); }); $("#github").mouseover(function () { $("#link-text").html("去 Github 看看"); }).mouseout(function () { $("#link-text").html("通过这里联系我"); }); $("#qq").mouseover(function () { $("#link-text").html("有什么事吗"); }).mouseout(function () { $("#link-text").html("通过这里联系我"); }); $("#email").mouseover(function () { $("#link-text").html("来封 Email"); }).mouseout(function () { $("#link-text").html("通过这里联系我"); }); $("#bilibili").mouseover(function () { $("#link-text").html("来 B 站看看 ~"); }).mouseout(function () { $("#link-text").html("通过这里联系我"); }); $("#telegram").mouseover(function () { $("#link-text").html("你懂的 ~"); }).mouseout(function () { $("#link-text").html("通过这里联系我"); }); //自动变灰 let myDate = new Date; let mon = myDate.getMonth() + 1; let date = myDate.getDate(); let days = ['4.4', '5.12', '7.7', '9.9', '9.18', '12.13']; for (let day of days) { let d = day.split('.'); if (mon == d[0] && date == d[1]) { document.write( '' ); $("#change").html("Silence in silence"); $("#change1").html("今天是中国国家纪念日,全站已切换为黑白模式"); window.addEventListener('load', function () { setTimeout(function () { iziToast.show({ timeout: 14000, icon: "fa-solid fa-clock", message: '今天是中国国家纪念日' }); }, 3800); }, false); } } //更多页面切换 let shoemore = false; $('#switchmore').on('click', function () { shoemore = !shoemore; if (shoemore && $(document).width() >= 990) { $('#container').attr('class', 'container mores'); $("#change").html("Oops !"); $("#change1").html("哎呀,这都被你发现了( 再点击一次可关闭 )"); } else { $('#container').attr('class', 'container'); $("#change").html("Hello World !"); $("#change1").html("一个建立于 21 世纪的小站,存活于互联网的边缘"); } }); //更多页面关闭按钮 $('#close').on('click', function () { $('#switchmore').click(); }); //移动端菜单栏切换 let switchmenu = false; $('#switchmenu').on('click', function () { switchmenu = !switchmenu; if (switchmenu) { $('#row').attr('class', 'row menus'); $("#menu").html(""); } else { $('#row').attr('class', 'row'); $("#menu").html(""); } }); //更多弹窗页面 $('#openmore').on('click', function () { $('#box').css("display", "block"); $('#row').css("display", "none"); $('#more').css("cssText", "display:none !important"); }); $('#closemore').on('click', function () { $('#box').css("display", "none"); $('#row').css("display", "flex"); $('#more').css("display", "flex"); }); //监听网页宽度 window.addEventListener('load', function () { window.addEventListener('resize', function () { //关闭移动端样式 if (window.innerWidth >= 600) { $('#row').attr('class', 'row'); $("#menu").html(""); //移除移动端切换功能区 $('#rightone').attr('class', 'row rightone'); } if (window.innerWidth <= 990) { //移动端隐藏更多页面 $('#container').attr('class', 'container'); $("#change").html("Hello World !"); $("#change1").html("一个建立于 21 世纪的小站,存活于互联网的边缘"); //移动端隐藏弹窗页面 $('#box').css("display", "none"); $('#row').css("display", "flex"); $('#more').css("display", "flex"); } }) }) //移动端切换功能区 let changemore = false; $('#changemore').on('click', function () { changemore = !changemore; if (changemore) { $('#rightone').attr('class', 'row menus mobile'); } else { $('#rightone').attr('class', 'row menus'); } }); //更多页面显示关闭按钮 $("#more").hover(function () { $('#close').css("display", "block"); }, function () { $('#close').css("display", "none"); }) //屏蔽右键 document.oncontextmenu = function () { iziToast.show({ timeout: 2000, icon: "fa-solid fa-circle-exclamation", message: '为了浏览体验,本站禁用右键' }); return false; } //控制台输出 //console.clear(); let styleTitle1 = ` font-size: 20px; font-weight: 600; color: rgb(244,167,89); ` let styleTitle2 = ` font-size:12px; color: rgb(244,167,89); ` let styleContent = ` color: rgb(30,152,255); ` let title1 = '無名の主页' let title2 = ` _____ __ __ _______ ____ __ |_ _| \\/ |/ ____\\ \\ / /\\ \\ / / | | | \\ / | (___ \\ \\_/ / \\ \\_/ / | | | |\\/| |\\___ \\ \\ / \\ / _| |_| | | |____) | | | | | |_____|_| |_|_____/ |_| |_| ` let content = ` 版 本 号:3.4 更新日期:2022-07-24 主页: https://www.imsyy.top Github: https://github.com/imsyy/home ` console.log(`%c${title1} %c${title2} %c${content}`, styleTitle1, styleTitle2, styleContent)