2011-04-10 27 views
0

這個AJAX腳本在點擊Feed底部的div時會加載更多帖子,但是我想知道如何更改腳本以在Feed的頂部顯示新帖子..而不是底部。AJAX腳本在Feed中輸出新帖子,我如何移動到上面?

的源代碼:

loadmore.php -

<?php 
include('../general_scripts/connect.php'); 

?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title></title> 
<link href="frame.css" rel="stylesheet" type="text/css"> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/ 
libs/jquery/1.3.0/jquery.min.js"></script> 

<script type="text/javascript"> 
$(function() { 
//More Button 
$('.more').live("click",function() 
{ 
var ID = $(this).attr("id"); 
if(ID) 
{ 
$("#more"+ID).html('<img src="moreajax.gif" />'); 

$.ajax({ 
type: "POST", 
url: "ajax_more.php", 
data: "lastmsg="+ ID, 
cache: false, 
success: function(html){ 
$("ol#updates").append(html); 
$("#more"+ID).remove(); 
} 
}); 
} 
else 
{ 
$(".morebox").html('no more to display.'); 

} 


return false; 


}); 
}); 

</script> 
<style> 
body 
{ 
font-family:Arial, 'Helvetica', sans-serif; 
color:#000; 
font-size:15px; 

} 
a { text-decoration:none; color:#0066CC} 
a:hover { text-decoration:underline; color:#0066cc } 
* 
{ margin:0px; padding:0px } 
ol.timeline 
    { list-style:none}ol.timeline li{ position:relative;border-bottom:1px #dedede dashed; padding:8px; }ol.timeline li:first-child{} 
    .morebox 
    { 
    font-weight:bold; 
    color:#333333; 
    text-align:center; 
    border:solid 1px #333333; 
    padding:8px; 
    margin-top:8px; 
    margin-bottom:8px; 
    } 
    .morebox a{ color:#333333; text-decoration:none;  width: 400px; 
} 
    .morebox a:hover{ color:#333333; text-decoration:none;  width: 400px; 
} 
    #container{margin-left:60px;  width: 400px; 
} 

</style> 
</head> 

<body> 
<div id='container'> 
<ol class="timeline" id="updates"> 
<?php 
$sql=mysql_query("SELECT * FROM updates ORDER BY item_id DESC LIMIT 16"); 
while($row=mysql_fetch_array($sql)) 
{ 

/* GETS THE NUMBER OF LIKES FOR POST */ 
$result1 = mysql_query("SELECT * FROM comments"); 
$comment_count = mysql_num_rows($result1); 

/* GETS THE NUMBER OF LIKES FOR POST */ 
$result2 = mysql_query("SELECT * FROM likes"); 
$like_count = mysql_num_rows($result2); 



?> 
<!-- START OF THE HTML STYLING FOR THE UPDATE --> 


<div class="title"> 
    <!-- PRINT USERNAME --> 
    <span class="username">&nbsp;<?php print $row['username']; ?></span> 
    <!-- PRINT NAME --> 
    <span class="name">&nbsp;<?php print $row['name']; ?></span> </div> 
<div class="thum" align="center"></div> 
<div class="content"><span class="update"><?php print $row['item_content'] ?></span></div> 

<div class="under-bar"> 
    <p class="under-text">&nbsp;comment (<?php print $comment_count ?>) like (<?php print $like_count ?>)&nbsp;&nbsp;&nbsp;<?php print $time_ago ?></p> 
</div> 
<div class="seperate"></div> 



<!-- END OF THE HTML STYLING FOR THE UPDATE --> 
<?php } ?> 
</ol> 
<div id="more<?php echo $msg_id; ?>" class="morebox"> 
<a href="#" class="more" id="<?php echo $msg_id; ?>">more</a> 
</div> 

</div> 

</body> 
</html> 

ajax_more.php -

<?php 
include('../general_scripts/connect.php'); 


if(isset($_POST['lastmsg'])) 
{ 
$lastmsg=$_POST['lastmsg']; 
$result=mysql_query("SELECT * FROM updates WHERE item_id<'$lastmsg' ORDER BY item_id DESC LIMIT 7"); 
$count=mysql_num_rows($result); 
while($row=mysql_fetch_array($result)) 
{ 
$msg_id=$row['item_id']; 
$message=$row['item_content']; 
?> 


<div class="title"> 
    <!-- PRINT USERNAME --> 
    <span class="username">&nbsp;<?php print $row['username']; ?></span> 
    <!-- PRINT NAME --> 
    <span class="name">&nbsp;<?php -print $row['name']; ?></span> </div> 
<div class="thum" align="center"></div> 
<div class="content"><span class="update"><?php print $row['item_content'] ?></span></div> 

<div class="under-bar"> 
    <p class="under-text">&nbsp;comment (<?php print $comment_count ?>) like (<?php print $like_count ?>)&nbsp;&nbsp;&nbsp;<?php print $time_ago ?></p> 
</div> 
<div class="seperate"></div> 


<?php 
} 


?> 

<div id="more<?php echo $msg_id; ?>" class="morebox"> 
<a href="#" id="<?php echo $msg_id; ?>" class="more">more</a> 
</div> 

<?php 
} 
?> 

很抱歉的ammount的,只是沒有想錯過任何東西了。 我不是要求你寫任何代碼,而只是指出我可以如何改變這一點,哪部分使它在輸入的下方輸出..而不是頂部。感謝:D!

回答

3

您需要將您的追加更改爲前置。追加將其添加到底部,並預先添加到頂部。

變化

$("ol#updates").append(html); 

$("ol#updates").prepend(html);