<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<style>
.comprehensive_star {
width: 100%;
height: 40px;
display: flex;
align-items: center;
}
.comprehensive_star .empty_star {
width: 25px;
height: 25px;
background: url(./images/star2.png) no-repeat;
background-size: cover;
position: relative;
margin-right: 2px;
}
.comprehensive_star .active_star {
position: absolute;
width: 25px;
height: 25px;
background: url(./images/star1.png) no-repeat;
background-size: cover;
}
</style>
<body>
<div class="comprehensive_star">
<div class="empty_star">
<div class="active_star"></div>
</div>
<div class="empty_star">
<div class="active_star"></div>
</div>
</div>
</body>
</html>
<script>
var score = 3.2;//分数
var score_int = parseInt(score);
var percent = (score - score_int) * 100 + '%';
var html = star(score_int, percent);
document.getElementsByClassName('comprehensive_star')[0].innerHTML = html;
function star(score_int, percent) {
console.log(score_int, percent);
var score_html = '';
for (var i = 0; i < score_int; i++) {
score_html += '<div class="empty_star">' +
'<div class="active_star"></div>' +
'</div>';
}
if (score_int < 5) {
score_html += '<div class="empty_star">' +
'<div class="active_star" style="width: ' + percent + '"></div>' +
'</div>';
}
for (var i = 0; i < 5 - score_int - 1; i++) {
score_html += '<div class="empty_star"></div>';
}
return score_html;
}
</script>
使用的时候直接传入分数即可!