0

編集:ご協力いただきありがとうございます。それでもうまくいきません。テーブルを順序付きリストに変更すると、このスクリプトは正常に機能します。(tr = ol および td = li) だから、問題はコードの追加部分にあると本当に思います。何か案は?

クリックすると消える「さらに読み込む」ボタンを除いて、すべて正常に動作しているようです。新しい投稿は読み込まれますが、ユーザーはボタンをもう一度クリックしてさらに投稿を読み込むことはできません。SO を調べましたが、問題の修正が見つかりませんでした。

この行を削除すると:

$("#more"+ID).remove();

ボタンは表示されますが、gif画像は永遠にロードされ続け、ボタンはクリックできません...

index.php コードは次のとおりです。

<table id="update_list" >
<tbody>
<?php
$result=query("SELECT * FROM postlist ORDER BY postid DESC LIMIT 9");
foreach ($result as $row)
{
$postid=$row['postid'];
$post=$row['post'];
?>
<tr id="<?php echo $postid ?>">
<td> 
<?php echo $post; ?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<div id="more<?php echo $postid; ?>" class="morebox">
<a href="#" class="more" id="<?php echo $postid; ?>">more</a>
</div>
</div>
</body>
<script type="text/javascript">
$(function() {
$('.more').live("click",function() 
{
var ID = $(this).attr("id");
if(ID)
{
$("#more"+ID).html('<img src="/loading.gif" />');

$.ajax({
type: "POST",
url: "loadmore.php",
data: "lastpost="+ ID, 
cache: false,
success: function(html){
$("#update_list >tbody").append(html);
$("#more"+ID).remove();
}
});
}
else
{
$(".morebox").html('The End');
}
return false;
});
});
</script>
</html>

ロードモア php ページは次のとおりです。

<?php
include("includes/config.php");
if(isset($_POST['lastpost']))
{
$lastpost=$_POST['lastpost'];

$result=query("SELECT * from postlist WHERE postid < '$lastpost' ORDER BY postid DESC 
LIMIT 5"); 


foreach ($result as $row){
$postid=$row['postid'];
$post=$row['post'];
?>
<tr id="<?php echo update$postid ?>">
<td>
<?php echo $post; ?>
</td>
</tr>
<?php } ?>
<div id="more<?php echo $postid; ?>" class="morebox">
<a href="#" class="more" id="<?php echo $postid; ?>">more</a>
</div>   
<?php  }?>

ここで私が間違っていることに関するヒントはありますか? ありがとう !

4

2 に答える 2

2

これを試して:

    
    $(関数() {
    $('.more').live("クリック",関数()
    {
    var ID = $(this).attr("id");
    もし(ID)
    {
    $("#more"+ID).find("a").hide().insertAfter('<img src="/loading.gif" />'); // リンクを非表示にして、その後に画像を挿入
    $.ajax({
    タイプ: "ポスト",
    URL: "loadmore.php",
    データ: "lastpost="+ ID,
    キャッシュ: false,
    成功: 関数(html){
    $("#update_list >tbody").append(html);
    $("#more"+ID).find("img").remove(); // 画像を削除
    $("#more"+ID).find("a").show(); //そしてリンクを表示
    }
    });
    }
    そうしないと
    {
    $(".morebox").html('The End');
    }
    false を返します。
    });
    });
    

于 2013-06-12T06:02:14.860 に答える
1

load moreボタンがクリックされた後にボタンを削除しています

$("#update_list >tbody").append(html);
//$("#more"+ID).remove(); remove this line
于 2013-06-12T05:51:55.810 に答える