JS звездная рейтинговая система - PullRequest
1 голос
/ 06 января 2020
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

Для некоторых тем я создал систему звездной оценки (всего 3), используя JavaScript и HTML. Кто-нибудь из вас знает, как рассчитать среднее / среднее число звездочек, полученных каждой топи c? Так что не три темы все вместе, а среднее значение для каждой топи c кликов / звездочек.

В настоящее время он находит среднее значение для всех 15 звезд. (каждая топи c имеет 5 звезд) Но предполагается, что она рассчитывает среднее значение для каждой отдельной топи c. Я думаю, может быть, что-то со счетчиком для каждой встречи каждый раз, когда пользователь нажимает на звезды, но я не уверен. А потом, может быть, разделить звезды на количество голосов / звездочек

1 Ответ

0 голосов
/ 06 января 2020

Чтобы получить среднее значение для каждого раздела, вам нужно будет захватить каждый голос со счетчиком (может быть сохранен в состоянии или в текстовом виде с числом голосов) и разделить сумму всех голосов на количество голосов. ,

Это можно сделать с помощью массива голосов, при котором каждый голос добавляется в массив каждый раз, когда пользователь щелкает рейтинг, складывает все значения в массиве и делит его на array.length.

...