“闪亮的评级输入”这个表述可能指的是一个用户界面元素,用于接收用户对某事物的评级,并且这个元素在用户交互时会有视觉上的反馈,比如闪烁效果,以增强用户体验。以下是一个简单的示例,展示如何使用HTML、CSS和JavaScript来创建一个具有闪亮效果的评级输入:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>闪亮评级输入</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="rating-container">
<span class="star" data-value="1">★</span>
<span class="star" data-value="2">★</span>
<span class="star" data-value="3">★</span>
<span class="star" data-value="4">★</span>
<span class="star" data-value="5">★</span>
</div>
<script src="script.js"></script>
</body>
</html>
.rating-container {
font-size: 2em;
cursor: pointer;
}
.star {
color: grey;
transition: color 0.2s;
}
.star.active {
color: gold;
animation: blink 1s infinite;
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
document.addEventListener('DOMContentLoaded', function() {
const stars = document.querySelectorAll('.star');
stars.forEach(star => {
star.addEventListener('click', function() {
const value = this.getAttribute('data-value');
highlightStars(value);
});
star.addEventListener('mouseover', function() {
const value = this.getAttribute('data-value');
highlightStars(value);
});
star.addEventListener('mouseout', function() {
resetStars();
});
});
function highlightStars(value) {
stars.forEach(star => {
if (star.getAttribute('data-value') <= value) {
star.classList.add('active');
} else {
star.classList.remove('active');
}
});
}
function resetStars() {
stars.forEach(star => {
star.classList.remove('active');
});
}
});
在这个示例中,我们创建了一个包含五个星星的评级输入。当用户点击或悬停在星星上时,星星会变成金色并开始闪烁。点击后,星星会保持金色状态,直到用户再次点击其他星星或悬停在星星上。这个示例使用了CSS动画来实现闪烁效果,并通过JavaScript来处理用户的交互。
领取专属 10元无门槛券
手把手带您无忧上云