Подтвердить что ты не робот

События до $(document).ready

У меня есть функция, чтобы скрыть элементы управления до загрузки документа. Если я поместил эту функциональность на $(document).ready, я вижу, что страница мерцает, чтобы скрыть элементы управления условно. Я хотел бы знать, есть ли событие, которое можно вызвать до срабатывания $(document).ready.

4b9b3361

Ответ 1

Как упоминалось выше, сделайте что-то вроде этого

<div id="test" class="hidden"> my hidden div tag </div>

.hidden
{
 display:none;   
}

в document.ready, вы можете показать, что это эквивалент onload, который ждет, пока загружен html

$(document).ready(function() {
  $('#test').show();
});

Пример jsfiddle здесь

http://jsfiddle.net/kdpAr/

Ответ 2

Общая проблема. Используйте CSS для скрытия скрытых элементов управления, а затем используйте JS on $(document).ready, чтобы определить, какие элементы управления должны быть видимыми. Не будет мерцания. Он будет выглядеть так, как только соответствующие части страницы будут загружаться постепенно.

Вы не можете безопасно запустить JS до того, как документ будет готов, и части документа будут видны, прежде чем вы сможете запустить JS. Таким образом, единственное решение - убедиться, что все элементы без фликкера скрыты по умолчанию, и тогда вы показываете только те, которые вы хотите видеть.

Самый простой способ сделать это - просто поместить общий класс во все динамические элементы:

<div id="myControl1" class="initiallyHidden"></div>

и используйте CSS, чтобы убедиться, что все они начинаются скрытыми:

.initiallyHidden {display: none;}

И тогда ваш javascript переопределит это, когда он решит, что элемент должен быть видимым:

document.getElementById("myControl1").style.display = "block";

Ответ 3

Когда мне нужно скрыть что-то до загрузки Javascript, я бы установил его в css следующим образом:

 display:none;

или

 visibility: hidden;

Вы также можете использовать условия в сочетании с Javascript, чтобы выявить его, если потребуется.

Ответ 4

вызовите функцию JavaScript рядом с элементом HTML

Пример:

<span></span>
<script> call JS function</script>

Ответ 5

Вы можете просто открыть тег script сразу после HTML, который вы хотите скрыть condionnaly (jQuery должен быть объявлен ранее), а затем вызвать прямую прямую, а не внутри $(document). Уже вот так:

<div id="toHide">Lorem ipsum</div>

<script type="text/javascript">
  $("#toHide").hide();
</script>

Ответ 6

Вы должны поместить свои элементы перед запуском javascript

<div>hi</div>
<script>
$("div").css('background-color', '#EEE');
</script>

http://sandbox.phpcode.eu/g/d01a1