Рассчитать с содержанием элемента - PullRequest
0 голосов
/ 05 января 2020

Я полный n00b в JS / JQuery, так что будьте немного осторожнее ;-) Я бы хотел изменить содержание промежутка с помощью class: score. Лучше сказать: посчитай. Это средний балл, что должно быть удвоено. Оценка основана на звездном рейтинге (который имеет максимум 5 баллов), но я бы хотел согнуть его, чтобы получить соответствующий балл, который лежит между 1 и 10. На мой взгляд, это просто умножение этой суммы на 2.

Допустим, средний балл равен 4,6. В этом случае мы можем изменить шкалу оценок до 10, поэтому умножение на 2 даст тот же результат, но в другой шкале, верно? 4.6 == 9.2.

Вот код, который у меня есть:

<span class="score">4.6</span>
<script>

$(document).ready(function() {
function compute() {
    var oldscore = $( ".score" ).text;
    var multiplier = 2;
    var total = oldscore * multiplier;
    $( ".score" ).text(total);
}

$('.score').change(compute);
});

</script>

Большой шанс, что я построил его очень неправильно :-D Я был бы очень рад, если бы кто-то может направить меня в правильном направлении: -)

Ответы [ 2 ]

5 голосов
/ 05 января 2020
<span class="score">4.6</span>
<script>
function compute() {
    var oldscore = $( ".score" ).text();
    var multiplier = 2;
    var total = parseFloat(oldscore) * parseFloat(multiplier);
    $( ".score" ).text(total);
}
$(document).ready(function(){
  compute();
});
</script>
0 голосов
/ 05 января 2020

[ОБНОВЛЕНИЕ] Мне нужно было добавить немного времени ожидания в сценарий. Это решило все проблемы!

Имеет ли значение то, что в ситуации Live для 2 диапазона назначены 2 класса? Потому что в ситуации Live она не работает.

$(document).ready(function compute() {
    var oldscore = $( ".avg-score .font-color-gray-darker" ).text();
    var multiplier = 2;
    var total = parseFloat(oldscore) * parseFloat(multiplier);
    $( ".avg-score .font-color-gray-darker" ).text(total);
});

Вы можете увидеть ее вживую здесь: https://testing.sceneryworkshop.com/paints-module-26mm-om05s-105478183.html

(внизу)

...