Das Problem ist haben Sie den Load more
Abschnitt mit jQuery
entfernt und aus dem getData
API-Aufruf zu erwarten. Aber die getData
API-Aufruf gibt HTML mit <tr>...</tr>
Inhalt und zusätzlich Show more
Abschnitt, falls erforderlich. Es ist besser, entweder JSON
Antwort zu verwenden und diese <tr>...</tr>
‚s manuell in Java Script oder eine JSON
Reaktion mit zwei Abschnitten, können in folgendem Format erzeugen:
{
'content': '<tr><td>...</td></tr>....<tr><td>...</td></tr>',
'showMore': '<div class="show_more_main" ...</div>'
}
als aus der Antwort (vergessen Sie nicht zu verwenden, response = $.parseJSON(response)
) lesen Sie die content
und fügen Sie als $('.tutorial_list').append(response.content)
für Daten Abschnitt und in ähnlicher Weise $("table.table").append(response.showMore)
für mehr Abschnitt anzeigen.
Ich glaube, Sie haben die Idee, wo Sie falsch machen.
Aber wenn Sie immer noch Ihren eigenen Code anstelle von JSON
verwenden möchten, verwenden Sie einfach den folgenden Trick.
Schritt 1: In getdata.php
Update mehr anzeigen unten im Abschnitt Code mit (Keeping the Show more
Abschnitt unsichtbar):
<?php endforeach;
if($data > $showLimit){ ?>
<div class="show_more_main" style="visibility:hidden" id="show_more_main<?php echo $tutorial_id; ?>">
<span id="<?php echo $tutorial_id; ?>" class="show_more" title="Load more posts" href="#" style="text-decoration: none;">Show more</span>
<span class="loding" style="display: none;"><span class="loding_txt"><i class="fa fa-spinner fa-pulse fa-3x fa-fw" style="font-size:12px;"></i>Loading....</span></span>
</div>
<?php }
}
}?>
Schritt 2: Bewegen Sie den verborgenen Abschnitt Show more
an der richtigen Adresse Java Script
in index.php
mit
<script>
$(document).ready(function(){
$(document).on('click','.show_more',function(){
var ID = $(this).attr('id');
$('.show_more').hide();
$('.loding').show();
$.ajax({
type:'POST',
url:'getData.php',
data:'idpost='+ID,
success:function(html){
$('#show_more_main'+ID).remove();
$('.tutorial_list').append(html);
//Move to new right place if show more section exists. You may give data table an id if you want
$(".show_more_main").appendTo("table.table");
$(".show_more_main").show();
}
});
});
});
</script>
Ich hoffe, das hilft Ihnen. Fühlen Sie sich frei, Kommentar zu schreiben, wenn ein Teil für Sie nicht klar ist.
'$ ('. Show_more'). Hide();' und '$ ('# show_more_main' + ID) .remove();' scheinst du zu verstecken und zu entfernen! – Pedram
Anstelle von $ ('. Show_more'). Hide(); Versuchen; $ ('. show_more'). fadeOut(). delay (6000) .fadeIn(); Hoffe, das wird funktionieren. Nach 6 Sekunden wird "show more" wieder angezeigt. Sie können diese Zeile auch vom Erfolg entfernen ... $ ('# show_more_main' + ID) .remove(); – yjs
Ich versuche, Code, aber es laden den gleichen Beitrag .... –