mirror of
https://dl.bcrjl.com/ghg/HaoOuBa/Joe.git
synced 2026-02-17 13:10:05 +08:00
更新
This commit is contained in:
1
assets/backdrop/backdrop1.js
Normal file
1
assets/backdrop/backdrop1.js
Normal file
@@ -0,0 +1 @@
|
||||
!function(){function t(){let t=document.getElementsByTagName("script"),e=t.length,n=t[e-1];return{length:e,z:-1000,opacity:n.getAttribute("opacity")||.5,color:n.getAttribute("color")||"0,0,0",count:n.getAttribute("count")||99}}function e(){W=i.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,H=i.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}function n(){o.clearRect(0,0,W,H);var t,e,i=[y].concat(d);d.forEach(function(n){n.x+=n.xa,n.y+=n.ya,n.xa=n.xa*(n.x>W||n.x<0?-1:1),n.ya=n.ya*(n.y>H||n.y<0?-1:1),o.fillRect(n.x-.5,n.y-.5,1,1);for(let c=0;c<i.length;c++)t=i[c],n!==t&&null!==t.x&&null!==t.y&&(x_diff=n.x-t.x,y_diff=n.y-t.y,distance=x_diff*x_diff+y_diff*y_diff,distance<t.max&&(t===y&&distance>t.max/2&&(n.x=n.x-.03*x_diff,n.y=n.y-.03*y_diff),e=(t.max-distance)/t.max,o.beginPath(),o.lineWidth=e/2,o.strokeStyle="rgba("+a.color+","+(e+.2)+")",o.moveTo(n.x,n.y),o.lineTo(t.x,t.y),o.stroke()));i.splice(i.indexOf(n),1)}),r(n)}var i=document.createElement("canvas"),o=i.getContext("2d"),a=t();i.id="c_n"+a.length,i.style.cssText="position:fixed;top:0;left:0;z-index:"+a.z+";opacity:"+a.opacity,document.getElementsByTagName("body")[0].appendChild(i),e(),window.onresize=e;var c=Math.random,d=[];for(let t=0;t<a.count;t++){var l=c()*W,u=c()*H,m=2*c()-1,x=2*c()-1;d.push({x:l,y:u,xa:m,ya:x,max:6e3})}var y={x:null,y:null,max:2e4};window.onmousemove=function(t){t=t||window.event,y.x=t.clientX,y.y=t.clientY},window.onmouseout=function(){y.x=null,y.y=null};var r=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/45)};setTimeout(function(){n()},100)}();
|
||||
1
assets/backdrop/backdrop2.js
Normal file
1
assets/backdrop/backdrop2.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/backdrop/backdrop3.js
Normal file
1
assets/backdrop/backdrop3.js
Normal file
@@ -0,0 +1 @@
|
||||
function animate(a=0){const t=a>=finish+arcStagger*colors.length;let e=window.innerWidth*DPR,n=window.innerHeight*DPR;const o=.5*n/colors.length,i=e/2,r=n+o*rainbowHeight+(n-colors.length*o)/3,l=e/2+colors.length*o*2,s=n;let c=document.getElementById("rainbow").getContext("2d");c.clearRect(0,0,e,n),c.globalAlpha=1,c.lineWidth=o;for(let e=colors.length-1;e>-1;e--){const[n,d]=colors[e],h=r+e*(o/2-1),m=l-e*o/2,f=s-e*o/2,g=tau*(a-e*arcStagger)+start,u=clamp(start,tau*finish+start,g);if(c.beginPath(),c.shadowColor=n,c.strokeStyle=n,c.ellipse(i,h,m,f,0,start,u,!1),c.lineCap="round",c.stroke(),c.closePath(),t)sparkles.push(makeSparkle({cx:i,cy:h,radiusX:m,radiusY:f,endAngle:Math.random()*Math.PI+Math.PI,lineWidth:o,color:boolRandom()?"#fff":d}));else for(let a=0;a<sparklesInPerStripe;a++)sparkles.push(makeSparkle({cx:i,cy:h,radiusX:m,radiusY:f,endAngle:u,lineWidth:o,color:n}))}const d=[];for(let a=0,t=sparkles.length;a<t;a++){const{x:t,y:e,opacity:n,color:o,rad:i}=sparkles[a];c.beginPath(),c.globalAlpha=n,c.fillStyle=o,c.arc(t-i,e-i,i,0,Math.PI/2),c.arc(t-i,e+i,i,3*Math.PI/2,2*Math.PI),c.arc(t+i,e+i,i,Math.PI,3*Math.PI/2),c.arc(t+i,e-i,i,Math.PI/2,Math.PI),c.fill(),n>.2&&i>.2&&d.push({x:t,y:e,opacity:n-.03,rad:i-.2,color:o})}sparkles=d,t?requestAnimationFrame(function(){animate(finish+colors.length*arcStagger)}):requestAnimationFrame(function(){animate(a+inc)})}let canvasDom=document.createElement("canvas");canvasDom.setAttribute("id","rainbow"),canvasDom.setAttribute("style","background-color: #ffffffe0;z-index: -1000;position:fixed;top:0;left:0;right:0;bottom:0;"),document.body.appendChild(canvasDom);const DPR=window.devicePixelRatio,colors=[["#EC008C","#f957b6"],["#EF4136","#ff7972"],["yellow","#fff"],["lime","#7aff7a"],["#27AAE1","#5ec8f2"],["#662D91","#a158d8"]],tau=2*Math.PI,start=Math.PI,finish=.5,inc=.007,rainbowHeight=.5,arcStagger=.05,sparklesInPerStripe=3;let sparkles=[];const clamp=(a,t,e)=>Math.min(Math.max(a,e),t),boolRandom=()=>!Math.round(Math.random()),sizeCanvas=()=>{radius=clamp(15,50,window.innerWidth/60/DPR);const a=document.getElementById("rainbow");a.width=window.innerWidth*DPR,a.height=window.innerHeight*DPR},addRandom=function(a){return(boolRandom()?-1:1)*Math.random()*a},makeSparkle=({cx:a,cy:t,radiusX:e,radiusY:n,endAngle:o,lineWidth:i,color:r})=>({x:a+e*Math.cos(o)+addRandom(i),y:t+n*Math.sin(o)+addRandom(i),opacity:1,color:r,rad:Math.max(radius*Math.random()*DPR,15)});sizeCanvas(),requestAnimationFrame(function(){animate()}),window.addEventListener("resize",sizeCanvas);
|
||||
3
assets/backdrop/backdrop4.js
Normal file
3
assets/backdrop/backdrop4.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/backdrop/backdrop5.js
Normal file
1
assets/backdrop/backdrop5.js
Normal file
File diff suppressed because one or more lines are too long
1
assets/backdrop/backdrop6.js
Normal file
1
assets/backdrop/backdrop6.js
Normal file
@@ -0,0 +1 @@
|
||||
!function(){function e(e,t,n){return Number(e.getAttribute(t))||n}function t(){for(r.clearRect(0,0,h,s),a=[{x:0,y:.7*s+f},{x:0,y:.7*s-f}];a[1].x<h+f;)n(a[0],a[1])}function n(e,t){r.beginPath(),r.moveTo(e.x,e.y),r.lineTo(t.x,t.y);var n=t.x+(2*p()-.25)*f,o=i(t.y);r.lineTo(n,o),r.closePath(),m-=x/-50,r.fillStyle="#"+(127*y(m)+128<<16|127*y(m+x/3)+128<<8|127*y(m+x/3*2)+128).toString(16),r.fill(),a[0]=a[1],a[1]={x:n,y:o}}function i(e){return l=e+(2*p()-1.1)*f,l>s||l<0?i(e):l}var o=document.getElementsByTagName("script"),c=o[o.length-1];config={z:e(c,"zIndex",-1000),a:e(c,"alpha",.6),s:e(c,"size",90)};var a,l,d=document.createElement("canvas"),r=d.getContext("2d"),g=window.devicePixelRatio||1,h=window.innerWidth,s=window.innerHeight,f=config.s,u=Math,m=0,x=2*u.PI,y=u.cos,p=u.random;d.width=h*g,d.height=s*g,r.scale(g,g),r.globalAlpha=config.a,d.style.cssText="opacity: "+config.a+";position:fixed;top:0;left:0;z-index: "+config.z+";width:100%;height:100%;pointer-events:none;",document.getElementsByTagName("body")[0].appendChild(d),document.onclick=t,document.ontouchstart=t,t()}();
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -1 +1 @@
|
||||
*{margin:0;padding:0;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{border-radius:4px;background:var(--seat)}::-webkit-scrollbar-track{background:transparent}body{font-size:14px;background:#f5f5f5;font-family:'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif}input[type='text']{-webkit-appearance:none;border-radius:0;font-size:13px;font-weight:500}textarea{resize:none;-webkit-appearance:none}li{list-style:none}a{text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:500}img{border:0;vertical-align:middle}img[src=''],img:not([src]){border:0;opacity:0}svg,canvas{vertical-align:middle}button{cursor:pointer;-webkit-appearance:none;font-size:13px}table{border-collapse:collapse;border-spacing:0}.joe_main{min-width:0;flex:1;padding:15px 0}.joe_container{display:flex;width:100%;margin:0 auto;padding:0 15px}@media (min-width: 576px){.joe_container{max-width:540px}}@media (min-width: 768px){.joe_container{max-width:720px}}@media (min-width: 992px){.joe_container{max-width:960px}}@media (min-width: 1200px){.joe_container{max-width:1140px}}@media (min-width: 1400px){.joe_container{max-width:1320px}}html{--background: #fff;--theme: #f24e4e;--main: #303133;--routine: #606266;--minor: #909399;--seat: #c0c4cc;--classA: #dcdfe6;--classB: #e4e7ed;--classC: #ebeef5;--classD: #f2f6fc;--text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);--box-shadow: 0px 0px 20px -5px rgba(158, 158, 158, 0.22)}html[dark='true']{--background: #303133;--box-shadow: none}
|
||||
*{margin:0;padding:0;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{border-radius:4px;background:var(--seat)}::-webkit-scrollbar-track{background:transparent}body{font-size:14px;font-family:'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif}body::before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;z-index:-520;pointer-events:none}input[type='text']{-webkit-appearance:none;border-radius:0;font-size:13px;font-weight:500}textarea{resize:none;-webkit-appearance:none}li{list-style:none}a{text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:500}img{border:0;vertical-align:middle}img[src=''],img:not([src]){border:0;opacity:0}svg,canvas{vertical-align:middle}button{cursor:pointer;-webkit-appearance:none;font-size:13px}table{border-collapse:collapse;border-spacing:0}.joe_main{min-width:0;flex:1;padding:15px 0}.joe_container{display:flex;width:100%;margin:0 auto;padding:0 15px}@media (min-width: 576px){.joe_container{max-width:540px}}@media (min-width: 768px){.joe_container{max-width:720px}}@media (min-width: 992px){.joe_container{max-width:960px}}@media (min-width: 1200px){.joe_container{max-width:1140px}}@media (min-width: 1400px){.joe_container{max-width:1320px}}html{--background: #fff;--theme: #f24e4e;--main: #303133;--routine: #606266;--minor: #909399;--seat: #c0c4cc;--classA: #dcdfe6;--classB: #e4e7ed;--classC: #ebeef5;--classD: #f2f6fc;--text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);--box-shadow: 0px 0px 20px -5px rgba(158, 158, 158, 0.22)}html[data-night='night']{--background: #303133;--box-shadow: none}
|
||||
|
||||
@@ -1,48 +1,58 @@
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
outline: none;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
outline: none;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 4px;
|
||||
background: var(--seat);
|
||||
border-radius: 4px;
|
||||
background: var(--seat);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: transparent;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 14px;
|
||||
background: #f5f5f5;
|
||||
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', Arial, sans-serif;
|
||||
}
|
||||
|
||||
body::before {
|
||||
content: '';
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: -520;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
input[type='text'] {
|
||||
-webkit-appearance: none;
|
||||
border-radius: 0;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
-webkit-appearance: none;
|
||||
border-radius: 0;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
-webkit-appearance: none;
|
||||
resize: none;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
h1,
|
||||
@@ -51,96 +61,91 @@ h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: 500;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
vertical-align: middle;
|
||||
border: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
img[src=''],
|
||||
img:not([src]) {
|
||||
border: 0;
|
||||
opacity: 0;
|
||||
border: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
svg,
|
||||
canvas {
|
||||
vertical-align: middle;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
-webkit-appearance: none;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
-webkit-appearance: none;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
.joe_main {
|
||||
min-width: 0;
|
||||
flex: 1;
|
||||
padding: 15px 0;
|
||||
min-width: 0;
|
||||
flex: 1;
|
||||
padding: 15px 0;
|
||||
}
|
||||
|
||||
.joe_container {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0 15px;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
.joe_container {
|
||||
max-width: 540px;
|
||||
}
|
||||
.joe_container {
|
||||
max-width: 540px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.joe_container {
|
||||
max-width: 720px;
|
||||
}
|
||||
.joe_container {
|
||||
max-width: 720px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
.joe_container {
|
||||
max-width: 960px;
|
||||
}
|
||||
.joe_container {
|
||||
max-width: 960px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1200px) {
|
||||
.joe_container {
|
||||
max-width: 1140px;
|
||||
}
|
||||
.joe_container {
|
||||
max-width: 1140px;
|
||||
}
|
||||
}
|
||||
@media (min-width: 1400px) {
|
||||
.joe_container {
|
||||
max-width: 1320px;
|
||||
}
|
||||
.joe_container {
|
||||
max-width: 1320px;
|
||||
}
|
||||
}
|
||||
|
||||
html {
|
||||
--background: #fff;
|
||||
|
||||
--theme: #f24e4e;
|
||||
|
||||
--main: #303133;
|
||||
--routine: #606266;
|
||||
--minor: #909399;
|
||||
--seat: #c0c4cc;
|
||||
|
||||
--classA: #dcdfe6;
|
||||
--classB: #e4e7ed;
|
||||
--classC: #ebeef5;
|
||||
--classD: #f2f6fc;
|
||||
|
||||
--text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
|
||||
|
||||
--box-shadow: 0px 0px 20px -5px rgba(158, 158, 158, 0.22);
|
||||
--background: #fff;
|
||||
--theme: #f24e4e;
|
||||
--main: #303133;
|
||||
--routine: #606266;
|
||||
--minor: #909399;
|
||||
--seat: #c0c4cc;
|
||||
--classA: #dcdfe6;
|
||||
--classB: #e4e7ed;
|
||||
--classC: #ebeef5;
|
||||
--classD: #f2f6fc;
|
||||
--text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
|
||||
--box-shadow: 0px 0px 20px -5px rgba(158, 158, 158, 0.22);
|
||||
}
|
||||
|
||||
html[dark='true'] {
|
||||
--background: #303133;
|
||||
--box-shadow: none;
|
||||
html[data-night='night'] {
|
||||
--background: #303133;
|
||||
--box-shadow: none;
|
||||
}
|
||||
|
||||
@@ -1,86 +1,105 @@
|
||||
window.Joe = {
|
||||
BASE_API: '/index.php/joe/api',
|
||||
IS_MOBILE: /windows phone|iphone|android/gi.test(window.navigator.userAgent),
|
||||
encryption: str => window.btoa(unescape(encodeURIComponent(str))),
|
||||
decrypt: str => decodeURIComponent(escape(window.atob(str)))
|
||||
}
|
||||
|
||||
console.time('Global.js执行时长')
|
||||
console.time('Global.js执行时长');
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
/* 激活全局下拉框功能 */
|
||||
{
|
||||
$('.joe_dropdown').each(function (index, item) {
|
||||
const menu = $(this).find('.joe_dropdown__menu')
|
||||
const trigger = $(item).attr('trigger') || 'click'
|
||||
const placement = $(item).attr('placement') || $(this).height() || 0
|
||||
menu.css('top', placement)
|
||||
if (trigger === 'hover') {
|
||||
$(this).hover(
|
||||
() => $(this).addClass('active'),
|
||||
() => $(this).removeClass('active')
|
||||
)
|
||||
} else {
|
||||
$(this).on('click', function (e) {
|
||||
$(this).toggleClass('active')
|
||||
$(document).one('click', () => $(this).removeClass('active'))
|
||||
e.stopPropagation()
|
||||
})
|
||||
menu.on('click', e => e.stopPropagation())
|
||||
}
|
||||
})
|
||||
}
|
||||
/* 昼夜模式 */
|
||||
{
|
||||
if (localStorage.getItem('data-night')) {
|
||||
$('html').attr('data-night', 'night');
|
||||
$('.joe_action_item.mode .icon-1').addClass('active');
|
||||
$('.joe_action_item.mode .icon-2').removeClass('active');
|
||||
} else {
|
||||
$('html').removeAttr('data-night');
|
||||
$('.joe_action_item.mode .icon-1').removeClass('active');
|
||||
$('.joe_action_item.mode .icon-2').addClass('active');
|
||||
}
|
||||
$('.joe_action_item.mode').on('click', () => {
|
||||
if (localStorage.getItem('data-night')) {
|
||||
$('.joe_action_item.mode .icon-1').removeClass('active');
|
||||
$('.joe_action_item.mode .icon-2').addClass('active');
|
||||
$('html').removeAttr('data-night');
|
||||
localStorage.removeItem('data-night');
|
||||
} else {
|
||||
$('.joe_action_item.mode .icon-1').addClass('active');
|
||||
$('.joe_action_item.mode .icon-2').removeClass('active');
|
||||
$('html').attr('data-night', 'night');
|
||||
localStorage.setItem('data-night', 'night');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* 激活全局返回顶部功能 */
|
||||
{
|
||||
const handleScroll = () => ((document.documentElement.scrollTop || document.body.scrollTop) > 300 ? $('.joe_action_item.scroll').addClass('active') : $('.joe_action_item.scroll').removeClass('active'))
|
||||
handleScroll()
|
||||
$(window).on('scroll', () => handleScroll())
|
||||
$('.joe_action_item.scroll').on('click', () => window.scrollTo({ top: 0, behavior: 'smooth' }))
|
||||
}
|
||||
/* 激活全局下拉框功能 */
|
||||
{
|
||||
$('.joe_dropdown').each(function (index, item) {
|
||||
const menu = $(this).find('.joe_dropdown__menu');
|
||||
const trigger = $(item).attr('trigger') || 'click';
|
||||
const placement = $(item).attr('placement') || $(this).height() || 0;
|
||||
menu.css('top', placement);
|
||||
if (trigger === 'hover') {
|
||||
$(this).hover(
|
||||
() => $(this).addClass('active'),
|
||||
() => $(this).removeClass('active')
|
||||
);
|
||||
} else {
|
||||
$(this).on('click', function (e) {
|
||||
$(this).toggleClass('active');
|
||||
$(document).one('click', () => $(this).removeClass('active'));
|
||||
e.stopPropagation();
|
||||
});
|
||||
menu.on('click', e => e.stopPropagation());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* 激活侧边栏人生倒计时功能 */
|
||||
{
|
||||
if ($('.joe_aside__item.timelife').length !== 0) {
|
||||
let timelife = [
|
||||
{ title: '今日已经过去', endTitle: '小时', num: 0, percent: '0%' },
|
||||
{ title: '这周已经过去', endTitle: '天', num: 0, percent: '0%' },
|
||||
{ title: '本月已经过去', endTitle: '天', num: 0, percent: '0%' },
|
||||
{ title: '今年已经过去', endTitle: '个月', num: 0, percent: '0%' }
|
||||
]
|
||||
{
|
||||
let nowDate = +new Date()
|
||||
let todayStartDate = new Date(new Date().toLocaleDateString()).getTime()
|
||||
let todayPassHours = (nowDate - todayStartDate) / 1000 / 60 / 60
|
||||
let todayPassHoursPercent = (todayPassHours / 24) * 100
|
||||
timelife[0].num = parseInt(todayPassHours)
|
||||
timelife[0].percent = parseInt(todayPassHoursPercent) + '%'
|
||||
}
|
||||
{
|
||||
let weeks = { 0: 7, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6 }
|
||||
let weekDay = weeks[new Date().getDay()]
|
||||
let weekDayPassPercent = (weekDay / 7) * 100
|
||||
timelife[1].num = parseInt(weekDay)
|
||||
timelife[1].percent = parseInt(weekDayPassPercent) + '%'
|
||||
}
|
||||
{
|
||||
let year = new Date().getFullYear()
|
||||
let date = new Date().getDate()
|
||||
let month = new Date().getMonth() + 1
|
||||
let monthAll = new Date(year, month, 0).getDate()
|
||||
let monthPassPercent = (date / monthAll) * 100
|
||||
timelife[2].num = date
|
||||
timelife[2].percent = parseInt(monthPassPercent) + '%'
|
||||
}
|
||||
{
|
||||
let month = new Date().getMonth() + 1
|
||||
let yearPass = (month / 12) * 100
|
||||
timelife[3].num = month
|
||||
timelife[3].percent = parseInt(yearPass) + '%'
|
||||
}
|
||||
let htmlStr = ''
|
||||
timelife.forEach((item, index) => {
|
||||
htmlStr += `
|
||||
/* 激活全局返回顶部功能 */
|
||||
{
|
||||
const handleScroll = () => ((document.documentElement.scrollTop || document.body.scrollTop) > 300 ? $('.joe_action_item.scroll').addClass('active') : $('.joe_action_item.scroll').removeClass('active'));
|
||||
handleScroll();
|
||||
$(window).on('scroll', () => handleScroll());
|
||||
$('.joe_action_item.scroll').on('click', () => window.scrollTo({ top: 0, behavior: 'smooth' }));
|
||||
}
|
||||
|
||||
/* 激活侧边栏人生倒计时功能 */
|
||||
{
|
||||
if ($('.joe_aside__item.timelife').length !== 0) {
|
||||
let timelife = [
|
||||
{ title: '今日已经过去', endTitle: '小时', num: 0, percent: '0%' },
|
||||
{ title: '这周已经过去', endTitle: '天', num: 0, percent: '0%' },
|
||||
{ title: '本月已经过去', endTitle: '天', num: 0, percent: '0%' },
|
||||
{ title: '今年已经过去', endTitle: '个月', num: 0, percent: '0%' }
|
||||
];
|
||||
{
|
||||
let nowDate = +new Date();
|
||||
let todayStartDate = new Date(new Date().toLocaleDateString()).getTime();
|
||||
let todayPassHours = (nowDate - todayStartDate) / 1000 / 60 / 60;
|
||||
let todayPassHoursPercent = (todayPassHours / 24) * 100;
|
||||
timelife[0].num = parseInt(todayPassHours);
|
||||
timelife[0].percent = parseInt(todayPassHoursPercent) + '%';
|
||||
}
|
||||
{
|
||||
let weeks = { 0: 7, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6 };
|
||||
let weekDay = weeks[new Date().getDay()];
|
||||
let weekDayPassPercent = (weekDay / 7) * 100;
|
||||
timelife[1].num = parseInt(weekDay);
|
||||
timelife[1].percent = parseInt(weekDayPassPercent) + '%';
|
||||
}
|
||||
{
|
||||
let year = new Date().getFullYear();
|
||||
let date = new Date().getDate();
|
||||
let month = new Date().getMonth() + 1;
|
||||
let monthAll = new Date(year, month, 0).getDate();
|
||||
let monthPassPercent = (date / monthAll) * 100;
|
||||
timelife[2].num = date;
|
||||
timelife[2].percent = parseInt(monthPassPercent) + '%';
|
||||
}
|
||||
{
|
||||
let month = new Date().getMonth() + 1;
|
||||
let yearPass = (month / 12) * 100;
|
||||
timelife[3].num = month;
|
||||
timelife[3].percent = parseInt(yearPass) + '%';
|
||||
}
|
||||
let htmlStr = '';
|
||||
timelife.forEach((item, index) => {
|
||||
htmlStr += `
|
||||
<div class="item">
|
||||
<div class="title">
|
||||
${item.title}
|
||||
@@ -93,56 +112,69 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
</div>
|
||||
<div class="progress-percentage">${item.percent}</div>
|
||||
</div>
|
||||
</div>`
|
||||
})
|
||||
$('.joe_aside__item.timelife .joe_aside__item-contain').html(htmlStr)
|
||||
}
|
||||
}
|
||||
</div>`;
|
||||
});
|
||||
$('.joe_aside__item.timelife .joe_aside__item-contain').html(htmlStr);
|
||||
}
|
||||
}
|
||||
|
||||
/* 激活侧边栏天气功能 */
|
||||
{
|
||||
if ($('.joe_aside__item.weather').length !== 0) {
|
||||
const key = $('.joe_aside__item.weather').attr('data-key')
|
||||
const style = $('.joe_aside__item.weather').attr('data-style')
|
||||
const aqiColor = { 1: 'FFFFFF', 2: '4A4A4A', 3: 'FFFFFF' }
|
||||
window.WIDGET = { CONFIG: { layout: 2, width: '220', height: '270', background: style, dataColor: aqiColor[style], language: 'zh', key: key } }
|
||||
}
|
||||
}
|
||||
/* 激活侧边栏天气功能 */
|
||||
{
|
||||
if ($('.joe_aside__item.weather').length !== 0) {
|
||||
const key = $('.joe_aside__item.weather').attr('data-key');
|
||||
const style = $('.joe_aside__item.weather').attr('data-style');
|
||||
const aqiColor = { 1: 'FFFFFF', 2: '4A4A4A', 3: 'FFFFFF' };
|
||||
window.WIDGET = { CONFIG: { layout: 2, width: '220', height: '270', background: style, dataColor: aqiColor[style], language: 'zh', key: key } };
|
||||
}
|
||||
}
|
||||
|
||||
/* 激活侧边栏排行榜功能 */
|
||||
{
|
||||
if ($('.joe_aside__item.ranking').length !== 0) {
|
||||
$.ajax({
|
||||
url: Joe.BASE_API,
|
||||
type: 'POST',
|
||||
data: { routeType: 'aside_ranking' },
|
||||
success(res) {
|
||||
$('.joe_aside__item.ranking .joe_aside__item-title .text').html(res.title)
|
||||
let htmlStr = ''
|
||||
if (res.code === 1) {
|
||||
res.data.forEach((item, index) => {
|
||||
htmlStr += `
|
||||
/* 激活侧边栏排行榜功能 */
|
||||
{
|
||||
if ($('.joe_aside__item.ranking').length !== 0) {
|
||||
$.ajax({
|
||||
url: Joe.BASE_API,
|
||||
type: 'POST',
|
||||
data: { routeType: 'aside_ranking' },
|
||||
success(res) {
|
||||
$('.joe_aside__item.ranking .joe_aside__item-title .text').html(res.title);
|
||||
let htmlStr = '';
|
||||
if (res.code === 1) {
|
||||
res.data.forEach((item, index) => {
|
||||
htmlStr += `
|
||||
<li class="item">
|
||||
<span class="sort">${index + 1}</span>
|
||||
<a class="link" href="${item.url}" title="${item.title}" target="_blank" rel="noopener noreferrer nofollow">${item.title}</a>
|
||||
</li>
|
||||
`
|
||||
})
|
||||
} else {
|
||||
htmlStr += `<li class="error">数据抓取异常!</li>`
|
||||
}
|
||||
$('.joe_aside__item.ranking .joe_aside__item-contain').html(htmlStr)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
`;
|
||||
});
|
||||
} else {
|
||||
htmlStr += `<li class="error">数据抓取异常!</li>`;
|
||||
}
|
||||
$('.joe_aside__item.ranking .joe_aside__item-contain').html(htmlStr);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* 设置侧边栏最后一个元素的高度 */
|
||||
{
|
||||
$('.joe_aside__item:last-child').css('top', $('.joe_header').height() + 15)
|
||||
}
|
||||
/* 懒加载 */
|
||||
new LazyLoad('.lazyload')
|
||||
/* 设置侧边栏最后一个元素的高度 */
|
||||
{
|
||||
$('.joe_aside__item:last-child').css('top', $('.joe_header').height() + 15);
|
||||
}
|
||||
|
||||
console.timeEnd('Global.js执行时长')
|
||||
})
|
||||
/* 激活Live2d人物 */
|
||||
{
|
||||
if (Joe.LIVE2D !== 'off' && Joe.LIVE2D) {
|
||||
$.getScript('https://cdn.jsdelivr.net/npm/live2d-widget@3.1.4/lib/L2Dwidget.min.js', () => {
|
||||
L2Dwidget.init({
|
||||
model: { jsonPath: Joe.LIVE2D, scale: 1 },
|
||||
mobile: { show: false },
|
||||
display: { position: 'right', width: 160, height: 200, hOffset: 70, vOffset: 0 }
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
/* 懒加载 */
|
||||
new LazyLoad('.lazyload');
|
||||
|
||||
console.timeEnd('Global.js执行时长');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user