Сделать конкретную загрузку div последней - PullRequest
2 голосов
/ 07 октября 2011

Я пытаюсь создать страницу, на которой после остальной части страницы загружается определенный div (с большим количеством содержимого php, html и javascript). Возможно ли это, если да, то как?

Ответы [ 5 ]

5 голосов
/ 07 октября 2011

Вы можете применить этот div в скрытом стиле, а затем использовать javascript, чтобы показать его:

$(function() {
    $('#someDiv').show();
});

Но если вы хотите не загружать его изначально, вы можете использовать AJAX:

$(function() {
    // <div id="container"></div> will be an empty div
    $('#container').load('/script');
});

Также обратите внимание, что если вы хотите, чтобы эта загрузка происходила после загрузки всего другого контента, включая графику, вы можете использовать $(window).load вместо $(document).ready:

$(window).load(function () {
    ...
});
1 голос
/ 15 апреля 2019

У меня была похожая проблема , требовалось заполнить данные после создания определенного div использую файлы .ejs для этого стека.

То, что я сделал, было Вытащил весь код на страницу .ejs. Упорядочив его так, как мне нужно.

Например:

<script type="text/javascript">
    jQuery making the divs
</script>
<% Pull Data and put it in the divs above %>
0 голосов
/ 07 октября 2011

Есть несколько способов сделать это. Во-первых, вы можете поместить этот div в конец страницы и очистить () прямо перед ним; но это не очень надежно, и чертовски трудно получить позицию и лайки правильно. Лучшим способом будет AJAX:

$.ajax({
  url: 'myurl.php',
  data: someDataMaybe,
  success: function(html) {
    $('#mydiv').html(html); // document.getElementById('mydiv').innerHTML = html would be a thousand times faster, but I've been told jquery people like this more
  }
});

это будет выполнено только после загрузки страницы и загрузки содержимого в div. Конечно, предполагается, что myurl.php выводит только содержимое, которое должно быть в указанном div.

Скажем, у вас есть эта страница:

<div id="page">
  <div id="content">
    <!-- lotsa stuff in here -->
  </div>
  <div id="mydiv"></div>
</div>
<script type="text/javascript">
// the stuff above ^
</script>

И myurl.php выводит это:

Some PHP-generated stuff

, что приведет к:

<div id="mydiv">Some PHP-generated stuff</div>
0 голосов
/ 07 октября 2011

Определенный

<div id="the_div">some text or whatever</div>

должен иметь

 #the_div { display:none; }

в css.

Тогда

 $(document).ready(function() {
     $("#the_div").show();
 });
0 голосов
/ 07 октября 2011

посмотрите на $ .ajax jQuery и связанные с ним функции.Я думаю, вы найдете, что они именно то, что вы ищете.простой пример:

<script type="text/javascript">
$(function() { // called when page is done loading; you can have lots of these
  $.ajax({
    url: 'other-content.php',
    success: function(data) { $('#load-me-later').html(data); }
  });
});
</script>
<div id="load-me-later"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...