var num_stars_løn = 0
var num_stars_team = 0
var num_stars_trivsel = 0
function add_rating(num_rating, section) {
if (section == "løn"){
num_stars_løn = num_rating;
document.getElementById("num_stars_løn").value = num_rating;
}
else if (section == "teambuilding"){
num_stars_team = num_rating;
document.getElementById("num_stars_team").value = num_rating;
}
else if (section == "trivsel") {
num_stars_trivsel = num_rating;
document.getElementById("num_stars_trivsel").value = num_rating;
}
for(var i = 1; i < num_rating + 1; i++) {
var section_id = section + " " + i
document.getElementById(section_id).innerHTML = "★"
}
if (num_rating < 5){
for(var i = 5; i > num_rating; i--) {
var section_id = section + " " + i
document.getElementById(section_id).innerHTML = "☆"
}
}
if (num_stars_team > 0 && num_stars_løn > 0 && num_stars_trivsel > 0){
show_mean_rating();
}
}
function show_mean_rating() {
var mean = document.getElementById("num_stars_løn").value +
document.getElementById("num_stars_team").value +
document.getElementById("num_stars_trivsel").value;
document.getElementById("mean_rating").innerText = "Gennemsnitlig rating: " + (mean/3).toFixed(2);
}
HTML
我使用 JavaScript 和 HTML 为一些主题(总共 3 个)制作了一个星级评级系统。你们中有人知道如何计算每个主题获得多少颗星的平均值吗?因此,不是三个主题的总和,而是每个主题的点击/星级的平均值。
现在它总共找到所有 15 颗星的平均值。 (每个主题有 5 颗星)但它应该计算每个单独主题的平均值。我在想,每次用户点击星星时,也许每次 session 都会有一个计数器,但我不确定。然后也许可以用给出的票数/星星数量来划分星星
最佳答案
要获得每个部分的平均值,您需要使用计数器捕获每个投票(可以以状态或纯文本形式存储,并带有投票数)并将所有投票的总和除以投票数。
这可以通过投票数组来完成,每次用户单击评级时,每个投票都会添加到数组中,将数组中的所有值加在一起,然后除以 array.length。
关于javascript - JS星级评价系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59618068/