@notioenr

Как написать счётчик зарплаты, зная ставку в час?

Здравствуйте. Хочу войти в веб посредством практики создания реальных проектов, которые могут пригодиться мне в жизни. Подскажите, пожалуйста, в какую сторону нужно копать и на каком языке это лучше/легче реализовать? JS или PHP? Знаю только основы HTML и CSS, (JS основы основ).

Задача: Рабочая ставка - 200 р/час. Нужно отображать в реальном времени количество заработанных денег с точностью до сотых. Чтобы цифры постоянно обновлялись с момента нажатия на кнопку "Начать считать". Например, прошла 1 минута и мы видим результат "Заработано: 3 рубля 3 копейки".

Надеюсь, смог нормально сформулировать задачу. Буду благодарен любому совету по теме.
  • Вопрос задан
  • 502 просмотра
Пригласить эксперта
Ответы на вопрос 3
ipfgr
@ipfgr
Js like hobby
Самый простой вариант с которого можете начать это добавить кнопку в HTML и на нее повесить функцию.
<button onclick="reply()">Start Count</button>

Затем в подключенном к HTML js файле создаем эту функцию.
Допустим через setInterval
let i=0 // переменная для счетчика
function reply(){ // Наша функция
  setInterval(function () {
        let counted = (200/60/60) *i  // считаем сколько заработали за каждую секунду и записываем значение в переменную counted
        i++ //Прибавляем секунду к счетчику
        document.getElementById("demo").innerHTML = "Заработано:" +  JSON.stringify(counted.toFixed(2)) + " рублей"; // вывод значения на станицу в элемент с id (demo)  ( в HTML в нужном месте, где хотим выводить данные вставляем  <p id="demo"></p>
    } ,1000) // Интервал в 1 секунду

}
Ответ написан
Дело было вечером, делать было...
вот набросал на скорую руку на Vue2

гуру не являюсь, названия функций и прочего от балды... но как пример для дальнейшей возможной реализации.
Ответ написан
webdisigner
@webdisigner
function tickRate(rate, tick=60000){
  var time = 0;
  var money = 0;
  var xtick = rate / 60
 
  var interval = setInterval(()=>console.log(`заработано: ${(money+=xtick).toFixed(2)} к ${(++time)} минуте`), tick)
  
}


tickRate(200)

//"заработано: 3.33 к 1 минуте"
//"заработано: 6.67 к 2 минуте"
//"заработано: 10.00 к 3 минуте"
//"заработано: 13.33 к 4 минуте"
//"заработано: 16.67 к 5 минуте"
//"заработано: 20.00 к 6 минуте"
//"заработано: 23.33 к 7 минуте"
//"заработано: 26.67 к 8 минуте"


Почему бы не так, просто копипастишь в консоль браузера
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы