信仰指数:修订间差异
来自SOKA CAFE
小 |
|||
第1行: | 第1行: | ||
<html> | <html> | ||
<head> | |||
<style> | <style> | ||
.faith-index-body { | |||
background: linear-gradient(135deg, #0052a5 0%, #f9e300 50%, #d40000 100%); | |||
min-height: 90vh; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
padding: 20px; | |||
font-family: 'Segoe UI','Microsoft YaHei',sans-serif; | |||
} | |||
.faith-index-container { | |||
background: rgba(255,255,255,0.25); | |||
backdrop-filter: blur(12px); | |||
border-radius: 20px; | |||
padding: 40px; | |||
width: 100%; | |||
max-width: 500px; | |||
box-shadow: 0 8px 32px rgba(0,0,0,0.1); | |||
border: 1px solid rgba(255,255,255,0.4); | |||
text-align: center; | |||
margin: 0 auto; | |||
} | |||
.faith-index-container h1 { | |||
color: #2c3e50; | |||
margin-bottom: 10px; | |||
font-size: 2.2rem; | |||
font-weight: 600; | |||
} | |||
.faith-index-container .subtitle { | |||
color: #34495e; | |||
margin-bottom: 30px; | |||
font-size: 1rem; | |||
} | |||
.faith-index-container .input-group { margin-bottom: 25px; text-align: left; } | |||
.faith-index-container label { | |||
display: block; | |||
color: #2c3e50; | |||
margin-bottom: 8px; | |||
font-weight: 500; | |||
} | |||
.faith-index-container input { | |||
width: 100%; | |||
padding: 15px; | |||
border-radius: 12px; | |||
border: none; | |||
background: rgba(255,255,255,0.5); | |||
color: #2c3e50; | |||
font-size: 1rem; | |||
transition: all 0.3s ease; | |||
border: 1px solid rgba(255,255,255,0.5); | |||
box-sizing: border-box; | |||
} | |||
.faith-index-container input:focus { | |||
outline: none; | |||
background: rgba(255,255,255,0.7); | |||
box-shadow: 0 0 0 3px rgba(44,62,80,0.2); | |||
} | |||
.faith-index-container button { | |||
background: linear-gradient(to right, #34495e, #2c3e50); | |||
color: #fff; | |||
border: none; | |||
padding: 15px 30px; | |||
border-radius: 12px; | |||
font-size: 1.1rem; | |||
font-weight: 600; | |||
cursor: pointer; | |||
transition: all 0.3s ease; | |||
width: 100%; | |||
margin-top: 10px; | |||
box-shadow: 0 5px 15px rgba(44,62,80,0.3); | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
gap: 10px; | |||
} | |||
.faith-index-container button:hover { | |||
transform: translateY(-3px); | |||
box-shadow: 0 8px 20px rgba(44,62,80,0.4); | |||
} | |||
.faith-index-container button:active { transform: translateY(0); } | |||
.faith-index-container button:disabled { | |||
opacity: 0.7; | |||
cursor: not-allowed; | |||
transform: none; | |||
} | |||
.faith-index-container .loader { | |||
width: 20px; | |||
height: 20px; | |||
border: 2px solid rgba(255,255,255,0.3); | |||
border-radius: 50%; | |||
border-top: 2px solid #fff; | |||
animation: faith-index-spin 1s linear infinite; | |||
} | |||
@keyframes faith-index-spin { | |||
0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } | |||
} | |||
.faith-index-container .result { | |||
margin-top: 30px; | |||
padding: 25px; | |||
border-radius: 15px; | |||
background: rgba(255,255,255,0.3); | |||
display: none; | |||
animation: faith-index-fadeIn 0.5s ease; | |||
} | |||
@keyframes faith-index-fadeIn { | |||
from { opacity: 0; transform: translateY(10px); } | |||
to { opacity: 1; transform: translateY(0); } | |||
} | |||
.faith-index-container .score { | |||
font-size: 3.5rem; | |||
font-weight: 800; | |||
margin: 15px 0; | |||
color: #2c3e50; | |||
} | |||
.faith-index-container .comment { | |||
font-size: 1.2rem; | |||
color: #2c3e50; | |||
margin: 15px 0; | |||
padding: 15px; | |||
border-radius: 10px; | |||
background: rgba(255,255,255,0.4); | |||
text-align: left; | |||
line-height: 1.5; | |||
} | |||
.faith-index-container .meter { | |||
height: 20px; | |||
background: rgba(0,0,0,0.1); | |||
border-radius: 10px; | |||
margin: 20px 0; | |||
overflow: hidden; | |||
} | |||
.faith-index-container .meter-fill { | |||
height: 100%; | |||
border-radius: 10px; | |||
transition: width 1s ease; | |||
background: linear-gradient(to right, #0052a5, #f9e300, #d40000); | |||
} | |||
.faith-index-container .ranges { | |||
display: flex; | |||
justify-content: space-between; | |||
margin-top: 10px; | |||
color: #34495e; | |||
font-size: 0.85rem; | |||
} | |||
.faith-index-container .footer { margin-top: 30px; color: #34495e; font-size: 0.9rem; } | |||
.faith-index-container .error { | |||
color: #d9534f; | |||
background: rgba(217,83,79,0.1); | |||
padding: 10px; | |||
border-radius: 8px; | |||
margin-top: 10px; | |||
display: none; | |||
} | |||
</style> | </style> | ||
</head> | |||
< | <body> | ||
<div class="faith-index-body"> | <div class="faith-index-body"> | ||
<div class="faith-index-container"> | |||
<h1>信仰指数测试</h1> | |||
<p class="subtitle">测测你的信仰有多虔诚</p> | |||
<div class="input-group"> | |||
<label for="faith-index-username">请输入您的名字:</label> | |||
<input type="text" id="faith-index-username" placeholder="输入名字..." autocomplete="off"> | |||
</div> | |||
<button id="faith-index-analyzeBtn"> | |||
<span id="faith-index-btnText">开始测试</span> | |||
<div class="loader" id="faith-index-loader" style="display:none;"></div> | |||
</button> | |||
<div class="error" id="faith-index-errorMsg"></div> | |||
<div class="result" id="faith-index-result"> | |||
<h2>测试结果</h2> | |||
<p>姓名: <span id="faith-index-resultUsername"></span></p> | |||
<div class="score" id="faith-index-scoreDisplay">0%</div> | |||
<div class="meter"><div class="meter-fill" id="faith-index-meterFill" style="width:0%;"></div></div> | |||
<div class="ranges"><span>0-20</span><span>21-40</span><span>41-60</span><span>61-80</span><span>81-100</span></div> | |||
<div class="comment" id="faith-index-comment"></div> | |||
<p class="footer">* 本结果为娱乐目的,基于名字的随机计算,每次查询结果相同</p> | |||
</div> | </div> | ||
</div> | |||
</div> | </div> | ||
<script> | <script> | ||
document.addEventListener('DOMContentLoaded', () => { | |||
document.addEventListener('DOMContentLoaded', | const analyzeBtn = document.getElementById('faith-index-analyzeBtn'); | ||
const usernameInput = document.getElementById('faith-index-username'); | |||
const resultDiv = document.getElementById('faith-index-result'); | |||
const loader = document.getElementById('faith-index-loader'); | |||
const btnText = document.getElementById('faith-index-btnText'); | |||
const errorMsg = document.getElementById('faith-index-errorMsg'); | |||
function calculateFaithIndex(username) { | |||
let hash = 0; | |||
if (username.length === 0) return 0; | |||
for (let i = 0; i < username.length; i++) { | |||
const char = username.charCodeAt(i); | |||
hash = ((hash << 5) - hash) + char; | |||
hash = hash & hash; | |||
} | |||
return Math.abs(hash) % 101; | |||
} | |||
function getFaithComment(score) { | |||
if (score <= 20) return "信仰指数较低,信心还需磨练。请多参加活动,加强学习,在广布的道路上继续精进!"; | |||
if (score <= 40) return "作为一名初信者,你的信心正在萌芽。坚持每日的实践,你将见证不可思议的功德!"; | |||
if (score <= 60) return "信心坚定,是广布的有力实践者。你的存在本身就是胜利的证明,请继续鼓励身边的同志!"; | |||
if (score <= 80) return "不愧是池田门生,信心强盛如狮子王!你的祈愿必将实现,继续作为常胜的先驱奋斗吧!"; | |||
return "了不起!你拥有佛的生命,是人间革命的先锋。你的生命正在闪耀着最尊贵的光芒!"; | |||
} | |||
function showError(msg) { | |||
errorMsg.textContent = msg; | |||
errorMsg.style.display = 'block'; | |||
} | |||
function hideError() { errorMsg.style.display = 'none'; } | |||
function runTest() { | |||
const username = usernameInput.value.trim(); | |||
if (!username) { | |||
showError('请输入您的名字!'); | |||
resultDiv.style.display = 'none'; | |||
return; | |||
} | |||
} | } | ||
hideError(); | |||
loader.style.display = 'inline-block'; | |||
btnText.textContent = '计算中...'; | |||
analyzeBtn.disabled = true; | |||
setTimeout(() => { | |||
const score = calculateFaithIndex(username); | |||
const comment = getFaithComment(score); | |||
document.getElementById('faith-index-resultUsername').textContent = username; | |||
document.getElementById('faith-index-scoreDisplay').textContent = score + '%'; | |||
document.getElementById('faith-index-comment').textContent = comment; | |||
resultDiv.style.display = 'block'; | |||
setTimeout(() => { | |||
document.getElementById('faith-index-meterFill').style.width = score + '%'; | |||
}, 100); | |||
loader.style.display = 'none'; | |||
btnText.textContent = '开始测试'; | |||
analyzeBtn.disabled = false; | |||
}, 200); | |||
} | |||
analyzeBtn.addEventListener('click', runTest); | |||
usernameInput.addEventListener('keypress', e => { if (e.key === 'Enter') runTest(); }); | |||
}); | }); | ||
</script> | </script> | ||
</body> | |||
</html> | </html> | ||
2025年10月12日 (日) 16:28的版本
信仰指数测试
测测你的信仰有多虔诚
测试结果
姓名:
0%
0-2021-4041-6061-8081-100