Yury Nesterenko (
yury_nesterenko) wrote in
free_comments2023-01-29 07:59 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
![[community profile]](https://www.dreamwidth.org/img/silk/identity/community.png)
Пост для комментариев на разные темы
Поскольку с ютуба я ушел, первоначальная цель данного сообщества потеряла смысл. Но, поскольку в моем журнале комменты закрыты (и открыть их для отдельных постов не позволяет движок, а для всех - не хочу), создаю отдельный пост, через который можно писать мне, здесь. Естественно, тролли и вата банятся сразу по обнаружении, флудеры и демагоги - после предупреждения. И предпочтительной формой связи со мной остается е-мэйл.Пишите сюда только в том случае, если вы уверены, что ваш коммент может быть интересен не только мне.
Re: Техническое. Это НЕВОЗМОЖНО! Кто разбирается в JS+CSS? Н
setTimeout там только для того, чтобы обновлять долготу дня (и соотв. привязанную к ней анимацию) раз в сутки (он у меня, кстати, был прописан с ошибкой - setInterval(setdaylen_(),... вместо setInterval(setdaylen_,..., но дело совсем не в этом) Параметры анимации прописаны в самом верху, в св-вах стиля body (animation-duration при загрузке страницы меняется на 12 часов), и часть из них а именно animation-delay и, самое главное,
Сейчас удалось установить следующее. Первый вызов ф-ции setdaylen (при загрущке страницы) отрабатывает корректно. Последующие порождают проблему. Хотя, снова повторяю, все передаваемые параметры верны.
Сначала
if(toReplace!=-1) { //-1 ставится при загрузке страницы
var element = document.getElementsByTagName('head')[0];
if(toReplace!=-1) {
element.replaceChild(astyle, element.childNodes[toReplace]);
}
else {
element.appendChild(astyle);
toReplace = element.childNodes.length-1;
}
Казалось, что проблему создает именно replaceChild, после чего анимация начинала хрен знает почему идти быстрее. Заменил на
var element = document.getElementsByTagName('head')[0];
if(toReplace!=-1) {
element.removeChild(element.childNodes[toReplace]);
}
element.appendChild(astyle);
toReplace = element.childNodes.length-1;
Теперь анимация идет с правильной скоростью, но если нажать ОК не сразу после загрузки, а несколко часов спустя - фаза резко сбивается, как будто передан неправильный delay (больший, чем надо - т.е. вермя прыгает вперед!) в строке
document.body.style.animationDelay=-(curdate.getSeconds()+(curdate.getMinutes()-timeshift)*60+(curdate.getHours()+24)*3600)+'s';
Но он правильный, и отладочная печать это подтверждает! Абсолютно не понимаю, что происходит :(((