页面加载后最后加载div

时间:2013-07-16 01:08:02

标签: html load

好吧所以我有一个div加载一些数据并使整个页面加载缓慢。幸运的是,这些数据可以等待,我想最后加载它。我已经看到过这样的其他帖子,但需要更多帮助才能让它起作用,因为我相当缺乏经验。

例如,我有:

<div id="stuff">
<?php Some PHP Here ?>
</div>

现在我有了

$(window).load(function () {
    $('#stuff').load('');
});

一些问题......我是否创建了一个空div然后用数据填充它,或者我可以将数据放在那里然后指定加载最后一个,如果可能的话,这将是首选。

我知道我可以加载像$('#stuff').load('stuff.php');这样的网页,但是我在div中使用了一个变量,那么如何将它传递给该加载函数并进入php页面呢?

我只是不知道如何在每次加载div时将变量传递到javascript,因为它是在while循环中。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

由于客户端上的javascript进程和服务器端上的PHP运行,因此您无法对已加载的HTML执行PHP操作(页面已从服务器发送到客户端,因此PHP无法访问它。)

由于这个事实,你需要javascript AJAX

因为您是初学者,所以我建议您使用 jQuery javascript框架中的 ajax 功能。它与javascript函数的工作方式相同,并自动处理许多操作。

正如您正确推测的那样,您可以先显示空div,然后......在页面完全加载后,您可以调用您的ajax。

这个ajax基本上要求PHP脚本为加载的页面提供将在指定的html元素中显示的数据。

代码应如下所示:

将此内容包含在您加载的内容的PHP文件中:

<script type="text/javascript">http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js</script> <!--loads jquery framework-->

<script type="text/javascript">  
  $(document).ready(function() {
    //when page is loaded
    $.ajax({
      url: "ajax.php" //script with your data selection
    }).done(function(data) { //when ajax call success
      $("#ajax-element").html(data); //insert data returned from ajax.php into div with id ajax-element
    });
  });
</script>


<div id="ajax-element"></div>

这是PHP ajax文件,它将为您返回数据(只需回显您想要在“ajax-element”div中拥有的所有内容,例如:

<?php
 echo "some text";
?>

有关详细信息,您可以找到jquery AJAX规范here