javascript - JS星级评价系统

标签 javascript html mean rating

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 = "&#x2605;"
    }
    if (num_rating < 5){
        for(var i = 5; i > num_rating; i--) {
            var section_id =  section + " " + i
            document.getElementById(section_id).innerHTML = "&#x2606;"
        }
    }


    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/

相关文章:

javascript - 如何解决 Ext.js3.1.1 的 IE 问题 'parentNode' is null or not a object?

javascript - (angularjs) 注入(inject) Controller 时获取 'ReferenceError: $scope is not defined'

html - (X)HTML 无效时对浏览器性能有何影响

javascript - 将滚动位置重置为新添加的元素

javascript - 无法在 hyperleder 锯齿验证器中的地址找到条目

javascript - 使用meteor方法将表单数据保存到集合中

python - 按月和年对 .csv 中的数据进行排序并计算平均值

r - 表示每个组内有超过 1 列的组索引

matlab - 如何以矢量化方式平均每第 n 个元素的矩阵?

java - Django 中的 Web 服务