Общая проблема.Используйте CSS, чтобы скрыть элементы управления по умолчанию, а затем используйте JS при $(document).ready
, чтобы решить, какие элементы управления сделать видимыми.Там не будет мерцания.Это будет выглядеть так, будто соответствующие части страницы загружаются постепенно.
Вы не можете безопасно запустить JS, пока документ не будет готов и части документа будут видны до того, как вы сможете запустить JS.Таким образом, единственное решение - убедиться, что все не мерцающие элементы скрыты по умолчанию, и вы затем показываете только те из них, которые вы хотите видеть.
Самый простой способ сделать это - просто установить общий класс на всединамические элементы:
<div id="myControl1" class="initiallyHidden"></div>
и используйте CSS, чтобы убедиться, что все они скрыты:
.initiallyHidden {display: none;}
И тогда ваш javascript переопределит это, когда решит, что элемент должен быть видимым:
document.getElementById("myControl1").style.display = "block";