Это время между рендерингом элемента и выполнением вашего кода JS.
Чтобы избежать этого, нужно не помещать код в событие DOM-ready, а сразу после элемента:
<div id="whatever">...</div>
<script>$('#whatever').hide();</div>
Все остальное, например, регистрирующие обработчики событий, все же может быть включено в вашу функцию, готовую к DOM.
Да, и вам вообще не нужно использовать visibility
- show()
и hide()
все равно будут использовать только свойство display
.
В случае, если элемент, который вы хотите скрыть, является предупреждением «Пожалуйста, включите JavaScript», рассмотрите возможность использования <noscript>...</noscript>
- тогда он никогда не появится, если JS не отключен.