如何在同一页面中使用.load()刷新div?

时间:2010-11-18 20:33:46

标签: javascript jquery function load

我正在尝试创建一个在线用户内容,它可以自动刷新并每次调用php函数。

我用过

<div class="onlineFriends">
 <?php 
$members = find_online_friends($_SESSION['id']);

 foreach($members as $member):?>
<div class="user" href=<?php echo ($member['f_id']);   ?> rel="popup_name" > 

<img src=<?php 
 $avatars = find_avatar($member['f_id']);
 foreach($avatars as $avatar)

 echo ($avatar['src']) ?> 
 />
</div>
<?php endforeach; ?>
</div>



 <script>
$(function(){
  var refreshId = setInterval(function() {
$('.onlineFriends ').load("# .onlineFriends ").fadeOut("slow", function () {
$(this).fadeIn("slow");

});
}, 50000);

});

</script>

这很好用。但是.load()函数我认为首先加载整个页面,然后调用.onlineFriends。我可以在控制台上用firebug看到它。它返回所有页面源代码作为GET答案。我的问题是它会减速吗?因为我将对其他div内容使用此方法5次,并且每次每个函数将加载整页。

此外,我尝试创建单独的.php文件,但我在PHP代码中有一些依赖,我不能在另一个文件中运行此函数。

2 个答案:

答案 0 :(得分:2)

对您网页的任何请求都会产生完整的代码。您可以在php中指定在存在特定GET或POST数据时仅发回页面所需的部分,并使用$.get()$.post()来获取它们。

  

因为我将使用此方法5次

在同一页面上?然后,最好在回调函数期间将其替换为$.get()$.post() data之一。

答案 1 :(得分:0)

创建其他页面friends.php 并在页面索引中使用cod java / ajax并使用jquery-min

<script src="js/jquery-1.10.1.min.js"></script>

$(document).ready(function() {

$("#center").load("friends.php?var=<?php echo $member['f_id']; ?>");
var refreshId = setInterval(function() {

$("#center").load('friends.php?var=<?php echo $member['f_id']; ?>');}, 9000);
$.ajaxSetup({ cache: false });

你的div html使用

<div class="center"></div>

你的朋友.php使用

<?php include"your bd here" $jab = $_GET['var'];  
'select bd'
echo $resultyourneed['f_id'] ?>