Jun. 18th, 2023

UPDATE: см. https://free-comments.dreamwidth.org/5918.html?thread=320030#cmt320030

У меня в разделе публицистики уже давно было сделано, чтобы цвет фона имитировал реальное время суток (символизируя актуальность размещаемых в этом разделе материалов). Но прописано это было тупо для экватора - весь год в 6 утра восход, в 6 вечера закат. Я решил, наконец, довести до ума, чтобы можно было задавать любую широту и насколько местное время отличается от солнечного (т.е. разница между полуднем по вашим часам и временем, когда солнце достигает высшей точки на вашей долготе). Вся математика правильная. Все параметры передаются верно. Но анимация НЕ РАБОТАЕТ КОРРЕКТНО. Быстрее, чем надо. Хотя все ее параметры правильны, и отладочные печати это подтверждают!!! В момент загрузки страницы все правильно, дальше начинается расхождение. Причем оно не сбрасывается вызовом той ф-ции, которая устанавливает параметры анимации - только перезагрузкой страницы
Суть алгоритма: вычисляется долгота дня (правильно!), соотв. время заката и рассвета отстоит от полудня на половину этого числа. Длительность анимации - 12 ч (туда, потом обратно), текущая фаза определяется как текушее время минус его разница с солнечным (чтобы из-за минуса не получилось отрицательное число в начале суток, добавляется еще 24 часа). Все эти параметры прописываются для анимации, которая дальше должна спокойно себе идти. А она идет с неправильной скоростью! Причем независимо от того, меняются в дальнейшем параметры или нет - правильную фазу возвращает только перезагрузка страницы.
См. исходник (там фрейм, надо выбрать frame source по правому клику). Отладочные печати выводятся в консоль. Часть кода, в которой происходит все описанное, вот:

У кого есть идеи, что тут не так - пишите в комментариях здесь.

Profile

Yury Nesterenko

June 2025

M T W T F S S
       1
2 345678
9101112131415
16 171819202122
23242526272829
30      

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2025 04:53
Powered by Dreamwidth Studios