Alexeytur, вот уже четверть века люди скачивают файлы через браузер и тот опа: кто-то изобрел крутилку с анимацией. Ну все, теперь заживем! Веб 3.0! :)
Курите маны по jquery или исходники, там где-то есть 'responseType' : 'blob' и 'dataType' : 'binary' но мне лениво искать.
А еще лучше потратить это время на то, чтобы ускорить генерацию вашей эксельки. И анимация будет не нужна.
Глойнус Алеос, я же не знаю подробностей вашего ТЗ. Если все работает как задумано, то все правильно.
Кнопке, кстати, тоже можно сделать user-select: none;
Клик и срабатывание MutationObserver'а как-то связаны или нет?
Может ли быть такое, что кликов было три, например, а MutationObserver сработал только один раз?
Или наоборот, один клик, и несколько срабатываний MutationObserver?
Нет.
Это вы среднюю продолжительность лунного дня из википедии скопировали. А она меняется же, потому что орбита у луны эллиптическая.
Я вообще не думаю, что это решается скриптиком из пары строчек. Подключите может какую-то библиотечку астрономическую, или используйте какой-то готовый API.
Ударим общественным надзором по некачественному коду из интернетов!