Это классическая проблема:
Вы хотите, чтобы какой-то HTML-элемент был невидимым, если Javascript включен, но вы хотите, чтобы HTML-элемент был видимым, если нет JS. (чем вы делаете анимацию, но это не проблема)
Еще одна хорошая вещь - поместить как можно больше стилей в CSS-файлы, а не в JS-скрипты.
Таким образом, хорошим решением было бы иметь возможность сказать в CSS: «Если включен JavaScript, примените этот стиль».
Для этого я обычно использую очень маленький фрагмент кода в заголовке HTML:
<script type="text/javascript">
//<![CDATA[
document.documentElement.className='js'
//]]>
</script>
Это добавит «js» className к тегу, если включен javascript.
Вы можете использовать это "js" className в ваших файлах CSS, чтобы определить некоторые стили на случай, если Javascript включен. Этот CSS будет активен во время загрузки HTML, поэтому вам не нужно ждать, пока DOM будет готов начать применять стили с JS. Таким образом, вы получите гораздо лучший опыт загрузки.
Пример CSS:
#MyappearingElement { display: block; }
.js #MyappearingElement { display: none; }
С этим фрагментом CSS элемент будет виден при загрузке страницы, только если Javascript отключен. Если Javascript включен, элемент не отображается, поэтому я могу сделать хорошую анимацию, чтобы показать его.