Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
3 / 2 / 2
Регистрация: 26.10.2015
Сообщений: 265

Нужен скрипт аналоговых часов

07.12.2015, 16:46. Показов 2832. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
скрипт самых протых часов
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.12.2015, 16:46
Ответы с готовыми решениями:

Скрипт часов помощь по коду
Здравствуйте у меня есть скрипт часов ,но часы выводятся на компоненте баттон и только при нажатии на него,как сделать чтобы они просто...

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

Скрипт сколько осталось часов до конца текущего месяца
Нужен скрипт, который отображал бы, сколько осталось времени, то есть часов : мин : сек до конца текущего месяца... скрипт должен работать...

12
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
07.12.2015, 21:15
crower,
JavaScript
1
while(!alert(new Date().toString())){}
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
08.12.2015, 06:52
Лучший ответ Сообщение было отмечено crower как решение

Решение

BANO, Супер!!!!!!!!!!
kalabuni, Всё правильно.
crower, тебя что, забанили в яндексе? (гугл мы на санкции посадили).

не моё, где взял не знаю, файл датирован 2002 годом....
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<html>
 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script LANGUAGE="JavaScript">
<!-- Begin
function doFormalTime() {
var myTime = new Date();
var myHour = myTime.getHours();
var myMinutes = myTime.getMinutes();
var ampm = "";
 
if (myHour >= 12) {
myHour -= 12;
ampm = "pm";
}
Hour = new Array(
"час", "два часа", "три часа", "четыре часа", 
"пять часов", "шесть часов", "семь часов", "восемь часов", 
"девять часов", "десять часов", "одиннадцать часов", "двенадцать часов");
 
myMin = myMinutes - (myMinutes % 5);
if (myMinutes % 5 > 2) myMin += 5;
 
var text = "Примерно ";
 
switch(myMin) {
case 0 : myHour--; break;
case 5 : text += "пять минут назад было "; myHour--; break;
case 10 : text += "десять минут назад было "; myHour--; break;
case 15 : text += "пятнадцать минут назад было "; myHour--; break;
case 20 : text += "двадцать минут назад было "; myHour--; break;
case 25 : text += "двадцать пять минут назад было  "; myHour--; break;
case 30 : text += "полчаса назад было "; myHour--; break;
case 35 : text += "без двадцати пяти минут "; break;
case 40 : text += "без двадцати минут  "; break;
case 45 : text += "без пятнадцати минут "; break;
case 50 : text += "через десять минут будет "; break;
case 55 : text += "через пять минут будет  "; break;
case 60 : break;
}
if (myHour < 1) myHour++;
if (ampm == "pm") {
ampm = (myHour >= 4) ? " " : " ";
}
text += Hour[myHour] + ampm;
return text;
}
//  End -->
</script>
 
<title>Время прописью</title>
</head>
 
<body>
<script>
  document.write(doFormalTime());
  var h=(new Date()).getHours();
  if (h > 4  && h < 12) document.write(" утра");
  if (h > 11 && h < 19) document.write(" дня");
  if (h > 18 && h < 24) document.write(" вечера");
  if (h > 23 || h < 5 ) document.write(" ночи");
</script>
</body>
</html>
а где то и стрелочные были, не попались, странно...
ну да ладно, эти тоже не цифровые.....
1
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
08.12.2015, 10:50
crower, Найдёте по этой ссылке.
1
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
09.12.2015, 22:02
crower, если нужен самый простой скрипт -- то это "школьная" тригонометрия -- необходимо ежесекундно прорисовывать три отрезка: секундную, минутную и часовую стрелки

прорисовываются они отдельными "квадратиками" стороной 1, 2 или 3 пикселя (в зависимости от выбранной "толщины" стрелки)
по уравнению прямой, проходящей через две несовпадающие точки: (у — у1) / (y0 — y1) = (x — x1) / (x0 — x1)

при этом одна точка всегда известна -- это центр циферблата (x0, y0), а вторая точка определяется
из параметрического уравнения окружности: {x1 = x0 + R * cos А; y1 = y0 + R * sin А}

где R -- длина секундной, минутной и часовой стрелок, а А -- угол поворота соответствующей стрелки для текущей секунды
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
11.12.2015, 00:31
Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
onload = function ()
{
var place = document.getElementById ('forClock');     // контейнер под "вписку" циферблата
place.style.position = 'relative';                    // позиционируем его относительно, чтобы внутри него размещать
                                                      // абсолютно спозиционированные элементы
 
var R = x0 = y0 = Math.floor (place.offsetWidth / 2), // определяем радиус вписанной внешней окружности циферблата и координаты его центра
 
    p = document.createElement ('div'); with (p.style) overflow = 'hidden', background = '#fff', // создаём шаблон-точку, с помощью 
                                                       width = height = '1px',                   // которого будем рисовать
                                                       position = 'absolute';                    // и циферблат, и стрелки
                                                                              
for (var k = 0; k < 60; k++) // рисуем внешнюю окружность циферблата
   {
   var t = p.cloneNode (0); with (t.style) width = height = (k % 5 == 0 ? 4 : 2) + 'px',
                                             top = y0 + R * Math.cos (Math.PI - k * Math.PI / 30) + 'px',
                                            left = x0 + R * Math.sin (Math.PI - k * Math.PI / 30) + 'px';
   place.appendChild (t);
   } 
 
setInterval (function ()
             {
             function MadeArr (ts, ti, le, wh)
             {
             var x1 = x0 + R * le * Math.sin (Math.PI - ts * Math.PI / ti),
                 y1 = y0 + R * le * Math.cos (Math.PI - ts * Math.PI / ti),
                 A = y1 - y0,
                 B = x0 - x1,
                 C = x1 * y0 - x0 * y1;
             if (!!B) for (var x = Math.min (x0, x1); x <= Math.max (x0, x1); x++)
                       {
                       var t = p.cloneNode (0); with (t.style) height = width = wh + 'px', left = x + 'px', top = -((C + A * x) / B) + 'px';
                       t.className = 'arr'; place.appendChild (t);
                       }
             if (!!A) for (var y = Math.min (y0, y1); y <= Math.max (y0, y1); y++)
                       {
                       var t = p.cloneNode (0); with (t.style) height = width = wh + 'px', top = y + 'px',left = -((C + B * y) / A) + 'px';
                       t.className = 'arr'; place.appendChild (t);
                       }
             }
             if (place.querySelectorAll('.arr').length) for (var j = place.querySelectorAll('.arr').length - 1; j >= 0; j--) 
 
place.querySelectorAll('.arr') [j].parentNode.removeChild (place.querySelectorAll('.arr') [j]);
             var D = new Date, S = D.getSeconds (), M = D.getMinutes (), H = D.getHours (); if (H > 12) H -= 12;
             MadeArr (S, 30, .9, 1), MadeArr (M * 60 + S, 1800, .8, 2), MadeArr (H * 60 * 60 + M * 60 + S, 21600, .6, 4);
                
 
 
 
             }, 1000);
}


полюбоваться, но только в Mozilla
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
11.12.2015, 07:15
kalabuni, лиса рывками тянет, старая опера нормально, а на гугл мы санкции поклали(наклали, наложили...), в нем не работает

Цитата Сообщение от newJS Посмотреть сообщение
а где то и стрелочные были, не попались, странно..
папка рядом лежала, не доглядел сразу
тоже древность, файлы 10 годом датированы, но должно работать везде
кому не лень, переделывайте
CSS
1
2
3
4
5
6
7
.num1, .num2, .num3, .num4, .num5{font-family:Georgia, Serif; width:30px; height:30px; text-align:center; position:absolute; top:0; left:0;}
.num2, .num3, .num4{font-weight:900;}
.num1{z-index:1; color:red; font-size:23px;}/*цифры*/
.num2{z-index:4; color:#0000ff; font-size:80%;}/*стрелки*/
.num3{z-index:3; color:#00a000; font-size:90%;}
.num4{z-index:2; color:#c71585; font-size:100%;}
.num5{z-index:1; color:yellow;}/*цифры*/
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
var pX=300;//координаты часов
var pY=200;
var baseY=70;//высота часов
var baseX=170;//ширина часов
 
function setHourNum(){//расставляем циферблат
var i, y, x;
for(i=0; i!=12; i++){//15 это половина ширины/высоты ("clockN"+i)
y=baseY*Math.sin(i*30*Math.PI/180+(-1.045))+pY-15;
x=baseX*Math.cos(i*30*Math.PI/180+(-1.045))+pX-15;
document.getElementById("clockN"+i).style.top=y+'px';
document.getElementById("clockN"+i).style.left=x+'px';};
for(i=0; i!=60; i++){//
if(i%5!=0){//base-, немного уменьшаем диаметры
y=(baseY-4)*Math.sin(i*Math.PI/30+(-1.045))+pY-10;
x=(baseX-8)*Math.cos(i*Math.PI/30+(-1.045))+pX-15;
document.getElementById("clockP"+i).style.top=y+'px';
document.getElementById("clockP"+i).style.left=x+'px';}};
 };
 
function timer(){
var d=document, t, s, m, h, i, p="px";
t=new Date();
s=t.getSeconds();
s=Math.PI*s/30;
m=Math.PI*t.getMinutes()/30;
h=Math.PI*t.getHours()/6+Math.PI*parseInt(t.getMinutes())/360;
//сколько точек в стрелке
for(i=0; i<10; i++){//дробь в скобках, коофициент смещения стрелки
d.getElementById("clockS"+i).style.left=Math.sin(s)*(i/2-0.75)*baseX/4.1+pX-14+p;
d.getElementById("clockS"+i).style.top=-Math.cos(s)*(i/2-0.75)*baseY/4.1+pY-8+p;};
for(i=0; i<6; i++){
d.getElementById("clockM"+i).style.left=Math.sin(m)*(i/2+0.5)*baseX/4.1+pX-15+p;
d.getElementById("clockM"+i).style.top=-Math.cos(m)*(i/2+0.5)*baseY/4.1+pY-10+p;};
for(i=0; i<5; i++){
d.getElementById("clockH"+i).style.left=Math.sin(h)*(i/2)*baseX/4.1+pX-15+p;
d.getElementById("clockH"+i).style.top=-Math.cos(h)*(i/2)*baseY/4.1+pY-11+p;};
setTimeout('timer()', 1000);
 };
 
onload=function startClock(){
var newEl=document.createElement("div");//создаём нужный ДИВ
document.body.appendChild(newEl);
newEl.id="HoursWithArrows";
var s1='<div class="num';//генерируем
var s2='" id="clock';
var s3='">&bull;';
var s4='">';
var s5='</div>';
var s6="", s7="", s8="", s9="", s0="", i=12;
while(i--){s6=s1+1+s2+'N'+i+s4+(i+1)+s5+s6;};//генерируем циферблат
i=10;//сколько точек в стрелке
while(i--){s7=s1+2+s2+'S'+i+s3+s5+s7;};//генерируем стрелки
i=6;
while(i--){s8=s1+3+s2+'M'+i+s3+s5+s8;};
i=5;
while(i--){s9=s1+4+s2+'H'+i+s3+s5+s9;};
i=60;
while(i--){if(i%5!=0){s0=s1+5+s2+'P'+i+s3+s5+s0;}};
document.getElementById("HoursWithArrows").innerHTML=s6+s7+s8+s9+s0;
setHourNum();//расставляем циферблат
timer();//запускаем часы
 };
HTML5
1
нету, скрипт сам генерит
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
12.12.2015, 06:22
Цитата Сообщение от newJS Посмотреть сообщение
лиса рывками тянет, старая опера нормально, а на гугл мы санкции поклали(наклали, наложили...), в нем не работает
вот интересно: мною написано, что код работает только в Mozilla -- написано жирно, ещё и выделено красным

спрашивается, зачем проверять работу этого кода в других браузерах, да ещё и информировать о результатах этой проверки общественность?

очень порекомендую вам на будущее -- когда вам пропишут ректальные свечи от геморроя, не надо пробовать запихивать их в нос, в уши, не надо их глотать -- сразу суйте их в одно, предусмотренное фармацевтами, место -- в задницу, как и написано в инструкции по применению

PS. код мною писался "на коленке" и в условиях, когда мне был доступен всего один браузер - Mozilla, в других я проверить не мог, потому и написал, что работает только в Mozilla

PS2. дабы избавить вас от ненужных фантазий: болезней у меня много -- ибо я далеко не мальчик, но геморрой в список моих недугов не входит, просто в своё время интересовался этимологией слова "ректальный" -- вот и запомнилось
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
13.12.2015, 07:52
Цитата Сообщение от kalabuni Посмотреть сообщение
вот интересно: мною написано, что код работает только в Mozilla -- написано жирно, ещё и выделено красным
Вот я и уточнил, хреново работает.

Цитата Сообщение от kalabuni Посмотреть сообщение
код мною писался "на коленке" и в условиях, когда мне был доступен всего один браузер - Mozilla, в других я проверить не мог, потому и написал, что работает только в Mozilla
Вот только обо всём этом все остальные знать не могли. И то, что я уточнил про другие браузеры, ну ни как не может быть криминалом, потому как все ваши выделения красным и жирным о таких подробностях умалчивают.

Цитата Сообщение от kalabuni Посмотреть сообщение
спрашивается, зачем проверять работу этого кода в других браузерах, да ещё и информировать о результатах этой проверки общественность?
А кто мне это может запретить?

Цитата Сообщение от kalabuni Посмотреть сообщение
но геморрой в список моих недугов не входит,
А жаль, но ещё не вечер, нужно немного подождать.
Вот об этом точно ни кому не интересно знать.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
13.12.2015, 11:15
Цитата Сообщение от newJS Посмотреть сообщение
Вот я и уточнил, хреново работает.
уточнили вы что-то другое, а никак не работу
код вполне работоспособен в Мозилла, привидевшиеся вам "рывки" - это задуманное ежесекундное передвижение
секундной стрелки
Цитата Сообщение от newJS Посмотреть сообщение
А жаль, но ещё не вечер, нужно немного подождать.
не жалейте, не дождётесь -- готов поспорить, что ваша прямая кишка вылезет много ранее -- просто от давления избыточной желчи в вашем ЖКТ
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
14.12.2015, 06:55
Цитата Сообщение от kalabuni Посмотреть сообщение
это задуманное ежесекундное передвижение
секундной стрелки
Если бы так, а то ведь прыжки в несколько секунд, с заметным подвисанием.
Цитата Сообщение от BANO Посмотреть сообщение
и приводят такие интересные примеры
Я ни чего не приводил, все самые интересные примеры от kalabuni, это он у нас любитель делится своими наболевшими болячками. Но вроде как некоторые он зажимает, стесняется наверно.
Цитата Сообщение от kalabuni Посмотреть сообщение
не жалейте, не дождётесь
А может всё таки расскажете народу, когда оно у вас вылезет, или оно уже, да вы стесняетесь?
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,531
16.12.2015, 05:45
BANO, безнаказанность порождает ещё большую безнаказанность...
Цитата Сообщение от kalabuni Посмотреть сообщение
ибо я далеко не мальчик, но геморрой в список моих недугов не входит
Да и как не по прикалываться над таким заявлением.....

Цитата Сообщение от BANO Посмотреть сообщение
что вы поддержали столь интимную тему ГЕМОРРОЯ
А вам не кажется что у вас большие запасы масла? решили поуменьшить?
0
Superposition
 Аватар для Padimanskas
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
16.12.2015, 23:52
О! целое озеро надрыстали. калабуну батхерд лечите?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.12.2015, 23:52
Помогаю со студенческими работами здесь

JavaScript - Скрипт сколько прошло лет, дней, часов, минут
Кто может посоветовать скрипт сколько прошло от нужной даты лет, дней, часов, минут с выводом в разных блоках тегов div.

Скрипт таймера обратного отсчета, как сделать повторение через каждые 48 часов?
есть скрипт таймера обратного отсчета, как сделать повторение через каждые 48 часов? function time() { today = new Date(); ...

Составить скрипт, определяющий сколько часов и минут прошло от начала суток
Составить скрипт, определяющий сколько часов и минут прошло от начала суток.

Как убрать секундную задержку при загрузке аналоговых часов?
Имеется вот такой код. При загрузке страницы стрелки стоят на 12 часов, через секунду устанавливаются на текущее время. Как убрать...

Эмуляция аналоговых часов
всем привет! я не могу разобраться, что и как писать дальше мне нужно написать на СИ с помощью библиотеи графики часы т.е.: 1....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru