Heim > Web-Frontend > js-Tutorial > Hauptteil

PHP Ajax JQuery implementiert Klicken Sie, um mehr Content_JQuery zu laden

WBOY
Freigeben: 2016-05-16 16:01:30
Original
1197 Leute haben es durchsucht

Eine solche Anwendung kann auf einigen Weibo-Websites auftreten. Die Weibo-Inhaltsliste verwendet keine Paging-Leisten. Stattdessen wird eine bestimmte Anzahl von Datensätzen gleichzeitig geladen und auf der Listenseite angezeigt Auf der Listenseite kann er auf „Mehr anzeigen“ klicken, um weitere Datensätze zu laden. In diesem Artikel erkläre ich Ihnen, wie Sie diese Anwendung mit jQuery und PHP implementieren.

Grundprinzip: Wenn die Seite geladen wird, fordert jQuery Daten aus dem Hintergrund an und PHP zeigt die neuesten Datensätze auf der Listenseite an, indem es die Datenbank abfragt. Am Ende der Listenseite befindet sich ein Link Beim Auslösen des Links wird eine Ajax-Anfrage an den Server gesendet. Das PHP-Hintergrundprogramm ruft die entsprechenden Datensätze aus der Datenbank ab und gibt sie in Form von JSON zurück Seite jQuery analysiert die JSON-Daten und hängt die Daten an die Listenseite an. Tatsächlich handelt es sich um den Ajax-Paging-Effekt.

Zuerst müssen wir die jquery-Bibliothek und das jquery.more.js-Plug-in vorstellen. jquery.more.js hat bereits viele Funktionen gekapselt und die Funktion der Parameterkonfiguration bereitgestellt.

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.more.js"></script> 
Nach dem Login kopieren

Die XHTML-Struktur ist wie folgt:

<div id="more"> 
   <div class="single_item"> 
      <div class="element_head"> 
        <div class="date"></div> 
        <div class="author"></div> 
      </div> 
      <div class="content"></div> 
   </div> 
   <a href="javascript:;" class="get_more">::点击加载更多内容::</a> 
</div> 
Nach dem Login kopieren

Es ist erwähnenswert, dass die Stile single_item und get_more mit dem Plug-In jquery.more.js zusammenhängen. Sie können auch einen anderen Klassennamen wählen, müssen jedoch bei der Konfiguration die entsprechende Klasse schreiben.

CSS

#more{margin:10px auto;width: 560px; border: 1px solid #999;}        
.single_item{padding: 20px; border-bottom: 1px dotted #d3d3d3;} 
.author{position: absolute; left: 0px; font-weight:bold; color:#39f} 
.date{position: absolute; right: 0px; color:#999} 
.content{line-height:20px; word-break: break-all;} 
.element_head{width: 100%; position: relative; height: 20px;} 
.get_more{margin:10px; text-align:center} 
.more_loader_spinner{width:20px; height:20px; margin:10px auto; background: url(loader.gif) 
 no-repeat;} 
Nach dem Login kopieren

Das obige CSS ist in diesem Beispiel angepasst. Natürlich können Sie in tatsächlichen Projekten verschiedene Stile anpassen. Beachten Sie, dass more_loader_spinner das Laden animierter Bilder definiert.

jQuery

$(function(){ 
  $('#more').more({'address': 'data.php'}) 
}); 
Nach dem Login kopieren

Die Verwendung ist sehr einfach. Konfigurieren Sie die Backend-Adresse: data.php, um zu sehen, wie data.php Daten verarbeitet.

PHP

data.php verweist auf die Datenbank. Dieses Beispiel verwendet dieselbe Datentabelle wie der Artikel auf dieser Website.

require_once('connect.php'); 
 
$last = $_POST['last']; 
$amount = $_POST['amount']; 
 
$user = array('demo1','demo2','demo3','demo3','demo4'); 
$query=mysql_query("select * from say order by id desc limit $last,$amount"); 
while ($row=mysql_fetch_array($query)) { 
  $sayList[] = array( 
    'content'=>$row['content'], 
    'author'=>$user[$row['userid']], 
    'date'=>date('m-d H:i',$row['addtime']) 
   ); 
} 
echo json_encode($sayList); 
Nach dem Login kopieren

data.php empfängt zwei Parameter, die von der Startseite übermittelt werden: $_POST['last'] ist die Anzahl der zu startenden Datensätze und $_POST['amount'] ist die Anzahl der gleichzeitig angezeigten Datensätze Verstehen Sie es, indem Sie sich die SQL-Anweisung ansehen. Tatsächlich handelt es sich um Anweisungen, die beim Paging verwendet werden.

Geben Sie dann die Abfrageergebnisse im JSON-Format aus und die PHP-Aufgabe ist abgeschlossen.

Schließlich werfen wir einen Blick auf die Parameterkonfiguration von jquery.more.js.

'amount': '10', //Die Anzahl der Datensätze, die jedes Mal angezeigt werden
'address': 'comments.php', //Anfordern der Adresse des Hintergrunds
'format': 'json', //Datenübertragungsformat
'template': '.single_item', //html zeichnet das Klassenattribut von DIV
auf 'trigger': '.get_more', //Klassenattribut, das das Laden weiterer Datensätze auslöst
'scroll': 'false', //Ob das Laden von Scroll-Triggern unterstützt wird
'offset': '100', //Offset, wenn Scrollen das Laden auslöst

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!