Я пытаюсь создать функцию, которая добавляет некоторое имя класса к нескольким элементам div на основе переменной. Эти имена классов будут использоваться для звездной рейтинговой системы.
Я ищу такой конечный результат, когда productScore
равно 3.5
:
<span class="star fa fa-star on"></span>
<span class="star fa fa-star on"></span>
<span class="star fa fa-star on"></span>
<span class="star fa fa-star semi"></span>
<span class="star fa fa-star off"></span>
Таким образом, в основном нужно добавить 3 имени класса -> on
, off
и semi
Итак, что у меня есть это:
function reviewStars(productScore, container){
for (i=0; i < productScore; i++) {
var starClass = productScore - i >= 1 ? 'on' : (productScore - i >= 0.5 ? 'semi' : 'off')
$(container).html('<span class="star fa fa-star' + starClass + '</span>')
}
}
Я хочу использовать эту функцию на своем веб-сайте. Так что это многоразово, где я хочу. Вот так:
function initOfferList(){
// ... code ...
$.each(data.products, function(i, product) {
// ... more code ...
var productScore = (product.score * 5) // example 3.5
var stars = reviewStars(productScore, '.item-rating')
content += '<div class="item-rating">'+ stars +'</div>';
// ... more code ....
}
Мой код продолжает возвращаться undefined
. Я не могу понять, почему это не определено.
У кого-нибудь есть идея?