星级系统通常用于表示用户评分或评价的可视化展示。在前端开发中,星级系统可以通过JavaScript结合HTML和CSS来实现。它允许用户通过点击星星来选择评分,并实时显示所选评分。
以下是一个简单的动态星级系统的JavaScript实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>星级评分系统</title>
<style>
.star {
cursor: pointer;
font-size: 2em;
color: grey;
}
.star.active {
color: gold;
}
</style>
</head>
<body>
<div id="star-rating">
<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>
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() {
const defaultRating = 3; // 假设默认评分为3
highlightStars(defaultRating);
});
});
function highlightStars(value) {
stars.forEach(star => {
if (star.getAttribute('data-value') <= value) {
star.classList.add('active');
} else {
star.classList.remove('active');
}
});
}
</script>
</body>
</html>
.active
正确地改变了星星的颜色。通过以上信息,您可以了解JS星级系统的基本概念、优势、类型、应用场景以及常见问题的解决方案。