php - AJAX 脚本在 feed 下输出新帖子,我如何移动到上面?

标签 php javascript jquery ajax

当单击提要底部的 div 时,此 AJAX 脚本会加载更多帖子,但我想知道如何更改脚本以在提要顶部显示新帖子......而不是底部。

源代码:

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
}
?>

抱歉,金额有限,只是不想错过任何事情。 我并不是要求您编写任何代码,而是简单地指出我如何更改此设置以及哪个部分使其输出在提要下方......而不是顶部。谢谢:D!

最佳答案

您需要将追加更改为前置。追加将其添加到底部,添加到顶部。

改变

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

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

关于php - AJAX 脚本在 feed 下输出新帖子,我如何移动到上面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5614759/

相关文章:

javascript - 如何创建自封闭元素 javascript XML DOM?

php - 扩展 mysqli_result

javascript - ajax更新后无法使用jquery选择表行id

Javascript 正则表达式替换 [0] 而不是 0

javascript - javascript中的正则表达式如何查找两个 "special"字符之间的内容?

javascript - Discover Meteor - mrt add bootstrap - 安装错误

javascript - jquery淡入淡出效果

php - 在 PHP 中上传时 $_FILES 为空

c# - 使用 PHP 调用 C# .net .dll 脚本

javascript - 在 Laravel 中将 php var 传递给 javascript