Задать вопрос
@eellazy

Как считать значения в пределах одного блока?

Добрый вечер!

Написал функцию которая считает процент скидки. Как мне сделать, чтобы скидки считалась для каждой карточки отдельно? Сейчас оно мне считает для всех карточек одно и тоже

var gamethumbnum1 = Number($(".game-thumb .new-price span").text());
    var gamethumbnum2 = Number($(".game-thumb .old-price span").text());
    var gamethumbnum = 100 - (gamethumbnum1*100/gamethumbnum2);
    $(".game-thumb .percent-price").text("-" + gamethumbnum + "%");


Ниже код карточки товара. Таких карточек на странице много
<div class="game-layout col-lg-3 col-md-4 col-sm-4">
	<a class="game-thumb" href="{full-link}">
		<div class="game-preview">
			[xfvalue_preview]
		</div>
		[xfgiven_price_old]<div class="percent-price">[xfvalue_price_old]</div>[/xfgiven_price_old]
		<div class="caption">
			<h3>{title}</h3>
			<div class="new-price"><span>[xfvalue_price]</span> ₽</div>
			<div class="old-price"><span>[xfvalue_price_old]</span> ₽</div>
		</div>
	</a>
</div>
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 2
potapchino
@potapchino
Ответ написан
Комментировать
vadimushka_d
@vadimushka_d
Учусь на программиста
как то так
$(".game-thumb").each(function(index, el){
    var gamethumbnum1 = Number($(el).find('.new-price span').text());
    var gamethumbnum2 = Number($(el).find('.old-price span').text());
    var gamethumbnum = 100 - (gamethumbnum1*100/gamethumbnum2);
    $(el).find('.percent-price').text("-" + gamethumbnum + "%");
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы