“Widget:EditWarWarning”与“Widget:KizunaAIFace”:页面之间的差异
(页面间差异)
跳到导航
跳到搜索
imported>=海豚= 小 (文本替换 - 替换“<br>”为“<br/>”) |
imported>=海豚= 无编辑摘要 |
||
第1行: | 第1行: | ||
<noinclude> | <noinclude> 绊爱脸</noinclude><includeonly><!--{if !isset($wgKizunaAIFace) || !$wgKizunaAIFace}--><!--{assign var="wgKizunaAIFace" value=true scope="global"}--><script> | ||
/* eslint-disable no-loop-func */ | |||
/* eslint-disable no-magic-numbers */ | |||
"use strict"; | |||
window.RLQ = window.RLQ || []; | window.RLQ = window.RLQ || []; | ||
window.RLQ.push( | window.RLQ.push(async () => { | ||
if (Math.random() < 0.7) { | |||
const KizunaAIFaceUp = "https://img.moegirl.org/common/0/0f/KizunaAIFaceUp.png"; | |||
const KizunaAIFaceDown = "https://img.moegirl.org/common/9/9a/KizunaAIFaceDown.png"; | |||
await Promise.all([KizunaAIFaceUp, KizunaAIFaceDown].map((src) => new Promise((res) => { | |||
const image = new Image(); | |||
image.src = src; | |||
image.addEventListener("load", () => { | |||
res(); | |||
}); | }); | ||
} | }))); | ||
const KizunaAI = $("<div/>"); | |||
});</script><!--{/if}--></includeonly> | KizunaAI.width(0).height(0).css({ | ||
position: "fixed", | |||
"max-width": "70vw", | |||
"max-height": "70vh", | |||
right: "0", | |||
bottom: "0", | |||
"z-index": "99999", | |||
"background-image": `url(${KizunaAIFaceUp})`, | |||
"background-size": "cover", | |||
}); | |||
const temp = $("<div/>"); | |||
temp.css({ | |||
"z-index": "-99999", | |||
top: "101vh", | |||
left: "101vw", | |||
position: "fixed", | |||
width: "1vw", | |||
height: "1vh", | |||
}); | |||
$("body").append(temp).append(KizunaAI); | |||
const KizunaAIWidth = 744; | |||
const KizunaAIHeight = 825; | |||
const KizunaAISetSize = (size) => { | |||
const windowDirection = temp.width() < temp.height(); | |||
KizunaAI.css(windowDirection ? "width" : "height", `${size}v${windowDirection ? "w" : "h"}`); | |||
KizunaAI[windowDirection ? "height" : "width"](KizunaAI[windowDirection ? "width" : "height"]() * (windowDirection ? KizunaAIWidth : KizunaAIHeight) / (windowDirection ? KizunaAIHeight : KizunaAIWidth)); | |||
}; | |||
let KizunaAISize = 0; | |||
let KizunaAITouchTimes = 0; | |||
let KizunaAIDirection = "bigger"; | |||
let KizunaAIDownTimeout = -1; | |||
let KizunaAIDOwnFlag = false; | |||
KizunaAI.on("mousedown touchstart", () => { | |||
KizunaAITouchTimes++; | |||
KizunaAI.css("background-image", `url(${KizunaAIFaceDown})`); | |||
if (KizunaAITouchTimes >= 3) { | |||
KizunaAIDirection = "smaller"; | |||
} else { | |||
KizunaAIDOwnFlag = true; | |||
} | |||
}); | |||
$(window).on("mouseup touchend", () => { | |||
if (KizunaAIDOwnFlag && KizunaAIDirection === "bigger") { | |||
if (KizunaAIDownTimeout > 0) { | |||
clearTimeout(KizunaAIDownTimeout); | |||
} | |||
KizunaAIDownTimeout = setTimeout(() => { | |||
if (KizunaAIDirection === "bigger") { | |||
KizunaAI.css("background-image", `url(${KizunaAIFaceUp})`); | |||
} | |||
clearTimeout(KizunaAIDownTimeout); | |||
}, 50); | |||
KizunaAIDOwnFlag = false; | |||
} | |||
}).on("resize", () => { | |||
if (KizunaAIDirection === "bigger") { | |||
KizunaAISetSize(KizunaAISize); | |||
} | |||
}); | |||
setInterval(() => { | |||
if (KizunaAIDirection === "bigger") { | |||
if (KizunaAISize < 80) { | |||
KizunaAISize++; | |||
KizunaAISetSize(KizunaAISize); | |||
} | |||
} else { | |||
if (KizunaAISize > 0) { | |||
KizunaAISize--; | |||
KizunaAI.css("background-image", `url(${KizunaAIFaceDown})`); | |||
KizunaAISetSize(KizunaAISize); | |||
} else { | |||
KizunaAI.hide(); | |||
} | |||
} | |||
}, 50); | |||
} | |||
}); | |||
</script><!--{/if}--></includeonly> |
2020年6月4日 (四) 16:34的版本
绊爱脸