Sfoglia il codice sorgente

initial commit

master
Evgeniy Ierusalimov 2 anni fa
commit
1feb2a551b
7 ha cambiato i file con 249 aggiunte e 0 eliminazioni
  1. 1
    0
      .gitignore
  2. BIN
      ding-sound-effect_2.mp3
  3. 14
    0
      index.html
  4. 25
    0
      timer.css
  5. 111
    0
      timer.js
  6. 48
    0
      timer_utro.html
  7. 50
    0
      timer_vecher.html

+ 1
- 0
.gitignore Vedi File

@@ -0,0 +1 @@
1
+.idea

BIN
ding-sound-effect_2.mp3 Vedi File


+ 14
- 0
index.html Vedi File

@@ -0,0 +1,14 @@
1
+<!DOCTYPE html>
2
+<head>
3
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
4
+    <meta charset="UTF-8">
5
+    <title>Givin.school timer</title>
6
+    <link type="text/css" href="timer.css?v=0.1" rel="stylesheet">
7
+</head>
8
+<body>
9
+<ul>
10
+    <li><a href="timer_utro.html">Блок сидя (утро)</a></li>
11
+    <li><a href="timer_vecher.html">Блок сидя (вечер)</a></li>
12
+</ul>
13
+</body>
14
+</html>

+ 25
- 0
timer.css Vedi File

@@ -0,0 +1,25 @@
1
+body {
2
+    font-size: 1em;
3
+    color: #2F2F2F;
4
+}
5
+
6
+.current_element {
7
+    color: black;
8
+    text-decoration: underline;
9
+}
10
+
11
+#rest_time {
12
+    font-size: 1.25em;
13
+    color: black;
14
+    font-weight: bold;
15
+}
16
+
17
+input {
18
+    font-size: 1.25em;
19
+    /*background-color: white;*/
20
+    border-radius: .5em;
21
+}
22
+
23
+#element_title {
24
+    font-weight: bold;
25
+}

+ 111
- 0
timer.js Vedi File

@@ -0,0 +1,111 @@
1
+function fancyTimeFormat(duration) {
2
+    // Hours, minutes and seconds
3
+    const hrs = ~~(duration / 3600);
4
+    const mins = ~~((duration % 3600) / 60);
5
+    const secs = ~~duration % 60;
6
+
7
+    // Output like "1:01" or "4:03:59" or "123:03:59"
8
+    let ret = "";
9
+
10
+    if (hrs > 0) {
11
+        ret += "" + hrs + ":" + (mins < 10 ? "0" : "");
12
+    }
13
+
14
+    ret += "" + mins + ":" + (secs < 10 ? "0" : "");
15
+    ret += "" + secs;
16
+
17
+    return ret;
18
+}
19
+
20
+function play_ding() {
21
+    let ding_sound = new Audio('ding-sound-effect_2.mp3');
22
+    ding_sound.play();
23
+}
24
+
25
+function startTimerOnElement() {
26
+
27
+    let currElement = $('#task_list > .current_element').first();
28
+    if (!currElement.length) {
29
+        $('#timer_reset_btn').prop('disabled', true);
30
+        $('#timer_start_btn').prop('disabled', false);
31
+        $('#spent_time').text('0:00');
32
+        $('#element_title').text('');
33
+        return;
34
+    }
35
+
36
+    let element_ttl = currElement.data('ttl');
37
+
38
+    let title = currElement.html();
39
+
40
+    if (title) {
41
+        let short_title = '';
42
+        $($.parseHTML(title)).filter('b').each(function () {
43
+            short_title += $(this).text() + ' ';
44
+        });
45
+        $('#element_title').text(short_title);
46
+    }
47
+
48
+    let timer = element_ttl;
49
+
50
+    timerObj = setInterval(function () {
51
+        $('#spent_time').text(fancyTimeFormat(element_ttl - timer));
52
+        $('#rest_time').text(fancyTimeFormat(timer));
53
+
54
+        if (!timer--) {
55
+            clearInterval(timerObj);
56
+            //play_ding();
57
+
58
+            timer = 0;
59
+
60
+            let nextElement = currElement.parent().children('li.current_element + li');
61
+
62
+            if (nextElement) {
63
+                currElement.removeClass('current_element');
64
+                nextElement.addClass('current_element');
65
+                startTimerOnElement();
66
+            }
67
+        }
68
+    }, 1000);
69
+}
70
+
71
+let timerObj;
72
+
73
+$(document).ready(function () {
74
+    let total_time = 0;
75
+    $('#task_list').children('li').each(function () {
76
+
77
+        let timestr = fancyTimeFormat($(this).data('ttl'));
78
+        total_time += $(this).data('ttl');
79
+
80
+        /*
81
+                        $(this).on('click', function () {
82
+                            $(this).parent().children('.current_element').removeClass('current_element');
83
+                            $(this).addClass('current_element');
84
+                        });
85
+        */
86
+    });
87
+
88
+    $('#total_rest_time').text(fancyTimeFormat(total_time));
89
+
90
+
91
+    $('#timer_start_btn').on('click', function () {
92
+        $(this).prop('disabled', true);
93
+        $('#timer_reset_btn').prop('disabled', false);
94
+        //play_ding();
95
+
96
+        if (!$('#task_list > .current_element').length) {
97
+            $('#task_list > li').first().addClass('current_element');
98
+        }
99
+
100
+        startTimerOnElement();
101
+    })
102
+
103
+    $('#timer_reset_btn').on('click', function () {
104
+        if (!timerObj) {
105
+            return;
106
+        }
107
+
108
+        clearInterval(timerObj);
109
+        startTimerOnElement();
110
+    });
111
+});

+ 48
- 0
timer_utro.html Vedi File

@@ -0,0 +1,48 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
5
+    <meta charset="UTF-8">
6
+    <title>Givin.school timer</title>
7
+    <script src="https://givin.school/pl/nassets/b0833351/jquery.min.js?v=1685613221"></script>
8
+    <link type="text/css" href="timer.css?v=0.3" rel="stylesheet">
9
+    <style>
10
+        .element, .current_element {
11
+            color: darkorange;
12
+        }
13
+    </style>
14
+    <script src="timer.js?v=0.3"></script>
15
+</head>
16
+<body>
17
+<h1>Блок сидя (утро)</h1>
18
+<div>
19
+
20
+    <div>Общее время упражнения <span id="total_rest_time">0:00</span>
21
+    </div>
22
+    <div>
23
+        <input type="button" value="Старт" id="timer_start_btn">
24
+    </div>
25
+    <br>
26
+
27
+    <div>Элемент <span class=element id="element_title"></span></div>
28
+    <div>Время элемента <span id="rest_time">0:00</span> &rarr; <span id=spent_time>0:00</span></div>
29
+    <div>
30
+        <input type="button" value="Заново" id="timer_reset_btn" disabled>
31
+    </div>
32
+    <br>
33
+    <ol id=task_list>
34
+        <li data-ttl="30">«<b>Правильное положение тела</b>», настрой на занятие — 0,5 мин;</li>
35
+        <li data-ttl="120">«<b>Тишина</b>» −2 мин;</li>
36
+        <li data-ttl="150">«<b>Затихание</b>» — 1,5 мин, наблюдаем, как становимся внутренне тише — 1 мин;</li>
37
+        <li data-ttl="120">«<b>Слушание</b>» — 2 мин;</li>
38
+        <li data-ttl="120">«<b>Слушание всем телом</b>» — 2 мин;</li>
39
+        <li data-ttl="300">«<b>Сердечное тепло</b>» — 5 мин;</li>
40
+        <li data-ttl="300">«<b>Благодарность</b>» — 5 мин;</li>
41
+        <li data-ttl="180">«<b>Тишина</b>» — 1 мин. — «<b>Наблюдаем как приходит покой</b>» — 2 мин;</li>
42
+        <li data-ttl="480">«<b>Внимание за дыханием</b>» — 8 мин;</li>
43
+        <li data-ttl="120">«<b>Тишина</b>» — 2 мин;</li>
44
+        <li data-ttl="180">«<b>Отдых</b>» — 3- 4 мин; Приходим в себя... Улыбка... Не спеша открываем глаза... Плавный выход из занятия.</li>
45
+    </ol>
46
+</div>
47
+</body>
48
+</html>

+ 50
- 0
timer_vecher.html Vedi File

@@ -0,0 +1,50 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
5
+    <meta charset="UTF-8">
6
+    <title>Givin.school timer</title>
7
+    <script src="https://givin.school/pl/nassets/b0833351/jquery.min.js?v=1685613221"></script>
8
+    <link type="text/css" href="timer.css?v=0.3" rel="stylesheet">
9
+    <style>
10
+        .element, .current_element {
11
+            color: #4f4fff;
12
+        }
13
+    </style>
14
+    <script language="JavaScript" src="timer.js?v=0.3"></script>
15
+</head>
16
+<body>
17
+<h1>Блок сидя (вечер)</h1>
18
+<div>
19
+
20
+    <div>Общее время упражнения <span id="total_rest_time">0:00</span>
21
+    </div>
22
+    <div>
23
+        <input type="button" value="Старт" id="timer_start_btn">
24
+    </div>
25
+    <br>
26
+
27
+    <div>Элемент <span class=element id="element_title"></span></div>
28
+    <div>Время элемента <span id="rest_time">0:00</span> &rarr; <span id=spent_time>0:00</span></div>
29
+    <div>
30
+        <input type="button" value="Заново" id="timer_reset_btn" disabled>
31
+    </div>
32
+    <br>
33
+    <ol id=task_list>
34
+        <li data-ttl="30">«<b>Правильное положение тела</b>», настрой на занятие — 0,5 мин;</li>
35
+        <li data-ttl="30">«<b>Тишина</b>» −0,5 мин;</li>
36
+        <li data-ttl="60">«<b>Расслабление тела</b>» - 1 мин; (просмотрим тело от макушки и лица до пальцев ног)</li>
37
+        <li data-ttl="120">«<b>Расфокусировка слуха</b>»... на паузе выдоха придерживаем дыхание... — 2 мин;</li>
38
+        <li data-ttl="120">«<b>Волна</b>» − 2 мин.;</li>
39
+        <li data-ttl="120">«<b>Очистительное дыхание</b>» − 2 мин.;</li>
40
+        <li data-ttl="180">«<b>Затихание</b>» — 1 мин; наблюдаем, как становимся внутренне тише — 1,5 мин (время в блоке затихания по внутренним ощущениям, без часов!);</li>
41
+        <li data-ttl="300">«<b>Благодарность с Сердечным теплом</b>» — 5 мин;</li>
42
+        <li data-ttl="300">Не спеша открываем глаза...«<b>Чувственное Сейчас</b>» , слушаем и смотрим окружающий нас мир, делаем это чувственно, с открытым сердцем, если необходимо, придерживаем дыхание - 5 мин; закрываем глаза...</li>
43
+        <li data-ttl="120">«<b>Тишина</b>» — 2 мин;</li>
44
+        <li data-ttl="600">«<b>Внимание за дыханием</b>» — 10 мин;</li>
45
+        <li data-ttl="120">«<b>Тишина</b>» — 2 мин;</li>
46
+        <li data-ttl="300">«<b>Отдых</b>» — 5 мин; Приходим в себя... Улыбка... Не спеша открываем глаза... Плавный выход из занятия.</li>
47
+    </ol>
48
+</div>
49
+</body>
50
+</html>

Loading…
Annulla
Salva