Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.10.2021, 10:25
Новичок на форуме
Отправить личное сообщение для karnitsky Посмотреть профиль Найти все сообщения от karnitsky
 
Регистрация: 24.01.2015
Сообщений: 4

Шкала заполнялась по времени.
Как сделать чтобы шкала заполнялась по времени?
Хотел сделать, чтобы отображался урок и заполнялась шкала.

Например есть -

1 урок (начало заполнения 13:00 и до 13:45)
2 урок (начало заполнения 13:45 и до 14:30)
3 урок (начало заполнения 14:30 и до 15:15)
...
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2021, 15:29
Новичок на форуме
Отправить личное сообщение для karnitsky Посмотреть профиль Найти все сообщения от karnitsky
 
Регистрация: 24.01.2015
Сообщений: 4

Подскажите как поправить тут, чтобы указать время начало и конца,
Цитата:
1 урок (начало заполнения 13:00 и до 13:45)
2 урок (начало заполнения 13:45 и до 14:30)
3 урок (начало заполнения 14:30 и до 15:15)
а не проную дату.
Так же не понимаю как он считает отщет, если дата уже прошла.


<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://www.jqueryscript.net/demo/Minimal-jQuery-Any-Date-Countdown-Timer-Plugin-countdown/dest/jquery.countdown.js"></script>
  
<p>Time left: <span class="timeleft"></span></p>
<div id="progressBar">
    <div></div>
</div>
  
  <style type="text/css">
#progressBar {
  width: 90%;
  margin: 10px auto;
  height: 22px;
  background-color: #ececee;
  border-radius: 15px;
  overflow: hidden;
}
#progressBar div {
   height: 100%;
   text-align: right;
   padding: 0;    /* remove padding */
   line-height: 22px;
   width: 0;
   background-color: #7ac843;
   box-sizing: border-box;
   overflow: visible;
}
  </style>



<script type="text/javascript">
$(document).ready(function() {
    function progress(timeleft, timetotal, $element) {

        let days = parseInt(timeleft / 86400);
        let hoursLeft = parseInt(timeleft - days * 86400);
        let hours = parseInt(hoursLeft / 3600);
        let minutesLeft = parseInt(hoursLeft - hours * 3600);
        let minutes = parseInt(minutesLeft / 60);
        let seconds = parseInt(timeleft % 60);

        let progressBarWidth = timeleft / timetotal * $element.width();

        $element
        .find("div")
        .css('width', progressBarWidth );
        $('.timeleft').html(
         `${days} days, ${hours} hours, ${minutes} minutes, ${seconds} seconds`);
        if (timeleft > 0)
        setTimeout(() => progress(timeleft - 1, timetotal, $element), 1000);
    }

    // Starting Date
    let dateStart = new Date('2021-03-10');

    // Ending Date
    let dateEnd   = new Date('2021-03-20');

    // Current Date
    let dateNow   = new Date('2021-03-17');

    let timetotal = (dateEnd.getTime() / 1000) - (dateStart.getTime() / 1000);
    let timeleft  = (dateEnd.getTime() / 1000) - (dateNow.getTime() / 1000);

    progress(timeleft, timetotal, $("#progressBar"));
 });
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод даты и времени xlebosolniy Общие вопросы Javascript 8 04.08.2018 22:51
Система оценки качества трафика в реальном времени - White Diagnostic rumarkin Ваши сайты и скрипты 0 18.06.2016 00:04
Расхождение во времени в 3-5 мин wadim Общие вопросы Javascript 1 21.03.2016 05:21
Вывод серверного времени на сайте McCloud Элементы интерфейса 7 09.09.2015 18:38
Обратный отсчет времени tenorica Общие вопросы Javascript 2 19.04.2011 23:30