2015-10-27 3 views
2

При динамическом изменении содержимого в div есть способ отсрочить отображение нового содержимого до тех пор, пока все макеты не будут завершены?Завершение отображения нового содержимого до завершения макета

Я использую javascript и ajax для обновления содержимого div, и когда я вставляю html, возвращаемый сценарием ajax, он, кажется, выполняет макет нового контента после того, как элементы видны, разливаясь за пределами целевого div

в то время как это происходит быстро, и конечный результат точно так, как я хочу, чтобы это было оно создает неприятный «мерцающий», что я хотел бы избежать

яваскрипта

 $requestURL = 'Scripts/getCategoryItems.php?Category='+$category+'&PageLength='+$pageLength+'&Page='+$page ; 
    AjaxRequest.open('GET',$requestURL,true); 
    AjaxRequest.onreadystatechange = function() 
     { if(AjaxRequest.readyState == 4) 
     { 
      if (AjaxRequest.responseText !== 'false') 
      { TargetContainer.style.display = "none"; 
      TargetContainer.innerHTML=AjaxRequest.responseText; 
      TargetContainer.style.display = "block"; 
      } else { alert(AjaxRequest.responseText); } ; 
      document.body.className = ''; 
     } 
     }; 
    document.body.className = 'waiting'; 
    AjaxRequest.send(); 

Html:

<div id="Content" style="float:left; width:820px; height:550px; max-height:550px; color:#E0E0E0; padding-top:30px; overflow:hidden;"></div> 
+0

Пожалуйста, добавьте свой код к вопросу. –

ответ

0

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

EDIT: Или если вы не используете jQuery, то событие window.onload.

+0

вызов ajax выполняется в ответ на взаимодействие пользователя, так что документ полностью загружен –

+0

Хорошо, если это так, то просмотр кода, который используется для загрузки части мерцающего документа, будет полезен. Если, например, вы используете что-то вроде fadein jQuery, есть обратный вызов, который вы могли бы использовать. Я не говорю, что вы используете fadein, но то, что я делаю, это код, который вы хотите запустить синхронно, прежде чем ваш аякс будет иметь отношение к тому, чтобы помочь вам найти решение. –

+0

используя только прямые javascript, html и php. Нет кода, выполняющегося до вызова ajax, страница статична, отображая серию изображений. Когда пользователь выбирает другую категорию, выполняется вызов ajax, а innerhtml дисплея div заменяется на html новой серии изображений –

Смежные вопросы