一、基础概念
<div>
或者<span>
标签来表示单个的星星。二、相关优势
三、类型
四、应用场景
五、示例代码实现可交互星级评分(JavaScript + HTML+CSS)
<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>
#star - rating {
display: flex;
}
.star {
font - size: 24px;
color: grey;
cursor: pointer;
}
.star.filled {
color: gold;
}
const stars = document.querySelectorAll('#star - rating .star');
let rating = 0;
stars.forEach(star => {
star.addEventListener('mouseover', function () {
const value = this.getAttribute('data - value');
highlightStars(value);
});
star.addEventListener('click', function () {
rating = this.getAttribute('data - value');
// 这里可以将rating发送到服务器,例如使用fetch API
console.log('用户评分为:', rating);
});
});
function highlightStars(value) {
stars.forEach(star => {
if (star.getAttribute('data - value') <= value) {
star.classList.add('filled');
} else {
star.classList.remove('filled');
}
});
}
// 初始化显示默认状态(全灰)
highlightStars(0);
在这个示例中:
<span>
元素,每个星星有一个data - value
属性表示其对应的分数值。data - value
属性高亮显示相应数量的星星;当点击某个星星时,记录下评分值(这里只是简单地在控制台输出,实际应用中可发送到服务器)。领取专属 10元无门槛券
手把手带您无忧上云