在JavaScript中实现评分展示通常涉及到以下几个基础概念:
以下是一个简单的星级评分展示的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="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');
let currentRating = 0;
stars.forEach(star => {
star.addEventListener('click', function() {
currentRating = this.getAttribute('data-value');
highlightStars();
});
star.addEventListener('mouseover', function() {
const hoverValue = this.getAttribute('data-value');
highlightStars(hoverValue);
});
star.addEventListener('mouseout', function() {
highlightStars(currentRating);
});
});
function highlightStars(value = currentRating) {
stars.forEach(star => {
if (star.getAttribute('data-value') <= value) {
star.classList.add('active');
} else {
star.classList.remove('active');
}
});
}
</script>
</body>
</html>问题1:评分不更新
currentRating变量没有正确更新。currentRating。问题2:星星样式不正确
.active类被正确添加到相应的星星上。问题3:性能问题
通过以上信息,你应该能够实现一个基本的评分展示功能,并解决常见的实现问题。
高校公开课
第135届广交会企业系列专题培训
第137届广交会企业系列专题培训
发现教育+科技新范式
腾讯数字政务云端系列直播
第136届广交会企业系列专题培训
企业创新在线学堂
第136届广交会企业系列专题培训