Помогите пожалуйста, не могу разобраться с циклом в JS. Сейчас использую вот такой костыль:
if (video == 199) {
if (length < 30) {
document.getElementById('price').innerHTML = ('$50');
}
else if (length < 60) {
document.getElementById('price').innerHTML = ('$75');
}
else if (length < 90) {
document.getElementById('price').innerHTML = ('$100');
}
else {
document.getElementById('price').innerHTML = ('$125');
}
}
Но мне нужно чтобы изменяя length с шагом 30 - price увеличивался на 25
Ну если каждые 30 секунд, тогда нужен setInterval
const price = document.getElementById('price');
let priceValue = 0;
setInterval(() => {
price.innerHTML = `$${priceValue}`;
priceValue += 25;
}, 300); // в миллисекундах, вам нужно поставить 30000
<div id='price'></div>
Можно использовать тернарный оператор. Код получается более компактным, а суть та же.
var text = document.getElementById('price').innerHTML;
if (video == 199) {
length < 30 ? text = '$50' : (length < 60 ? text = '$75' : (length < 90 ? text = '$100' : text = '$125'));
}
Спасибо, я конечно задал сразу не очень корректно вопрос, спешил.
Подсказали мне такое решение:
var length = 0;
$('#seconds').each(function() {
length += parseInt($(this).val());
});
var step = 0;
step = ((length / 30) * 25);
document.getElementById('price').innerHTML = ('$' + step);
<input type="number" step="30" value="30" id="seconds">
<div id="price"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости