


Implementieren Sie die Funktion zum automatischen Laden von Daten, wenn die Seite basierend auf jquery_jquery bis zum Ende scrollt
Jetzt verfügen Weibo, WeChat und andere Anwendungen, die wir häufig verwenden, über asynchrone Ladefunktionen. Kurz gesagt: Wenn wir Weibo oder WeChat durchsuchen, durchläuft das Programm das asynchrone Laden, nachdem es an den oberen oder unteren Rand der Benutzeroberfläche verschoben wurde das Laden von Daten, da jedes Mal nur ein Teil der Daten geladen wird. Wenn wir eine große Datenmenge haben, diese aber nicht vollständig anzeigen können, können wir die Verwendung der asynchronen Methode zum Laden der Daten in Betracht ziehen.
Das asynchrone Laden von Daten kann automatisch erfolgen, wenn der Benutzer auf die Schaltfläche „Mehr anzeigen“ klickt oder die Bildlaufleiste zum unteren Rand des Fensters scrollt. Im nächsten Blogbeitrag stellen wir vor, wie die Funktion zum automatischen Laden weiterer Daten implementiert wird .
Abbildung 1 Weibo lädt weitere Funktionen
Text
Angenommen, die Nachrichtendaten des Benutzers sind in unserer Datenbank gespeichert. Jetzt müssen wir die API-Schnittstelle in Form eines Webdienstes öffnen, damit der Client sie aufrufen kann. Natürlich können wir auch einen allgemeinen Handler (ASHX-Datei) verwenden. um den Kunden anrufen zu lassen (Einzelheiten finden Sie hier).
Datenblatt
Zuerst erstellen wir die Datentabelle T_Paginate in der Datenbank, die drei Felder ID, Name und Nachricht enthält, wobei ID ein automatisch inkrementierender Wert ist.
CREATE TABLE [dbo].[T_Paginate]( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [varchar](60) COLLATE Chinese_PRC_CI_AS NULL, [Message] [text] COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_T_Paginate] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Abbildung 2 Datentabelle T_Paginate
Datenobjektmodell
Wir definieren das Datenobjektmodell Message basierend auf der Datentabelle T_Paginate, die drei Felder enthält: Id, Name und Comment. Die spezifische Definition lautet wie folgt:
/// <summary> /// The message data object. /// </summary> [Serializable] public class Message { public int Id { get; set; } public string Name { get; set; } public string Comment { get; set; } }
Web-Service-Methode
Jetzt müssen wir die Methode GetListMessages() implementieren, die die entsprechenden Paging-Daten basierend auf der vom Client übergebenen Anzahl von Paging-Daten erhält und sie im JSON-Format an den Client zurückgibt, bevor wir GetListMessages() implementieren. Methode, wir Zuerst stellen wir die Methode der Daten-Paging-Abfrage vor.
In der MySQL-Datenbank können wir die Limit-Funktion verwenden, um Daten-Paging-Abfragen zu implementieren, aber es gibt keine ähnliche Funktion in SQL Server. Dann können wir unsere subjektive Initiative nutzen – implementieren Sie eine selbst. Die spezifische Implementierung ist wie folgt :
Declare @Start AS INT Declare @Offset AS INT ;WITH Results_CTE AS ( SELECT ID, Name, Message, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum FROM T_Paginate WITH(NOLOCK)) SELECT * FROM Results_CTE WHERE RowNum BETWEEN @Start AND @Offset
Oben haben wir den allgemeinen Tabellenausdruck Results_CTE definiert, der die Daten in der T_Paginate-Tabelle abruft, sie entsprechend dem ID-Wert von klein nach groß sortiert und dann ROW_NUMBER-Werte entsprechend dieser Reihenfolge zuweist, wobei @Start und @Offset sind der abzufragende Datenbereich.
Als nächstes implementieren wir die Methode GetListMessages(). Die spezifische Implementierung lautet wie folgt:
/// <summary> /// Get the user message. /// </summary> /// <param name="groupNumber">the pagination number</param> /// <returns>the pagination data</returns> [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string GetListMessages(int groupNumber) { string query = string.Format("WITH Results_CTE AS (SELECT ID, Name, Message, ROW_NUMBER() OVER (ORDER BY ID) AS RowNum " + "FROM T_Paginate WITH(NOLOCK)) " + "SELECT * FROM Results_CTE WHERE RowNum BETWEEN '{0}' AND '{1}';", (groupNumber - 1) * Offset + 1, Offset * groupNumber); var messages = new List<Message>(); using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["RadditConn"].ToString())) using (var com = new SqlCommand(query, con)) { con.Open(); using (var reader = com.ExecuteReader(CommandBehavior.CloseConnection)) { while (reader.Read()) { var message = new Message { Id = (int)reader["ID"], Name = (string)reader["Name"], Comment = (string)reader["Message"] }; messages.Add(message); } } // Returns json data. return new JavaScriptSerializer().Serialize(messages); } }
Oben haben wir die Methode GetListMessages() der Einfachheit halber direkt im Webdienst geschrieben. Sie erhält die Paging-Daten durch den Aufruf des allgemeinen Tabellenausdrucks Results_CTE Ein JavaScriptSerializer-Objekt erstellen serialisiert Daten in das JSON-Format und gibt sie an den Client zurück.
Javascript
Da wir die lokale Webdienst-API aufrufen, senden wir eine Same-Origin-Anfrage zum Aufrufen der API-Schnittstelle (Beispiel für eine Cross-Origin-Anfrage). Die spezifische Implementierung lautet wie folgt:
$.getData = function(options) { var opts = $.extend(true, {}, $.fn.loadMore.defaults, options); $.ajax({ url: opts.url, type: "POST", contentType: "application/json; charset=utf-8", dataType: "json", data: "{groupNumber:" + opts.groupNumber + "}", success: function(data, textStatus, xhr) { if (data.d) { // We need to convert JSON string to object, then // iterate thru the JSON object array. $.each($.parseJSON(data.d), function() { $("#result").append('<li id="">' + this.Id + ' - ' + '<strong>' + this.Name + '</strong>' + ' —?' + '<span class="page_message">' + this.Comment + '</span></li>'); }); $('.animation_image').hide(); options.groupNumber++; options.loading = false; } }, error: function(xmlHttpRequest, textStatus, errorThrown) { options.loading = true; console.log(errorThrown.toString()); } }); };
Oben haben wir die Methode getData() definiert, die die Methode jQuery.ajax() verwendet, um eine Anfrage mit demselben Ursprung zu senden, um die GetListMessages-Schnittstelle aufzurufen. Wenn die Daten erfolgreich geladen und im Ergebnis-Div angezeigt werden, wird das Paging durchgeführt Nummer (groupNumber) wird um eins erhöht.
Jetzt haben wir die Methode getData() implementiert. Immer wenn der Benutzer die Bildlaufleiste nach unten zieht, wird die Methode getData() aufgerufen, um die Daten abzurufen Scrollbar-Ereignis. Die spezifische Implementierung lautet wie folgt:
// The scroll event. $(window).scroll(function() { // When scroll at bottom, invoked getData() function. if ($(window).scrollTop() + $(window).height() == $(document).height()) { if (trackLoad.groupNumber <= totalGroups && !trackLoad.loading) { trackLoad.loading = true; // Blocks other loading data again. $('.animation_image').show(); $.getData(trackLoad); } } });
Oben haben wir das Scroll-Ereignis von jQuery implementiert. Wenn die Scroll-Leiste nach unten scrollt, wird die Methode getData() aufgerufen, um die Daten auf dem Server abzurufen.
CSS-Stil
Als nächstes fügen wir dem Programm CSS-Stile hinzu, die konkret wie folgt definiert sind:
@import url("reset.css"); body,td,th {font-family: 'Microsoft Yahei', Georgia, Times New Roman, Times, serif;font-size: 15px;} .animation_image {background: #F9FFFF;border: 1px solid #E1FFFF;padding: 10px;width: 500px;margin-right: auto;margin-left: auto;} #result{width: 500px;margin-right: auto;margin-left: auto;} #result ol{margin: 0px;padding: 0px;} #result li{margin-top: 20px;border-top: 1px dotted #E1FFFF;padding-top: 20px;}
Bild 3 Weitere Programme werden geladen
Oben haben wir jQuery implementiert, um automatisch weitere Programme zu laden und eine asynchrone Anfrage zum Abrufen von Daten vom Server zu senden, wann immer die Bildlaufleiste den unteren Rand erreicht.
Wir haben das asynchrone Laden von Daten über jQuery über ein Demoprogramm eingeführt. Natürlich beinhaltet es auch eine Seitenabfrage von Daten. Hier verwenden wir einen benutzerdefinierten allgemeinen Tabellenausdruck Results_CTE, um paginierte Daten zu erhalten, und dann über The $.ajax(. )-Methode sendet eine Same-Origin-Anfrage zum Aufrufen der Webdienst-API; wenn die Daten erfolgreich abgerufen wurden, werden die Daten im JSON-Format zurückgegeben. Schließlich zeigen wir die Daten auf der Seite an.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Detaillierte Erläuterung der jQuery-Referenzmethode: Kurzanleitung jQuery ist eine beliebte JavaScript-Bibliothek, die häufig in der Website-Entwicklung verwendet wird. Sie vereinfacht die JavaScript-Programmierung und bietet Entwicklern umfangreiche Funktionen und Features. In diesem Artikel wird die Referenzmethode von jQuery ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern einen schnellen Einstieg zu erleichtern. Einführung in jQuery Zuerst müssen wir die jQuery-Bibliothek in die HTML-Datei einführen. Es kann über einen CDN-Link eingeführt oder heruntergeladen werden

Wie verwende ich die PUT-Anfragemethode in jQuery? In jQuery ähnelt die Methode zum Senden einer PUT-Anfrage dem Senden anderer Arten von Anfragen, Sie müssen jedoch auf einige Details und Parametereinstellungen achten. PUT-Anfragen werden normalerweise zum Aktualisieren von Ressourcen verwendet, beispielsweise zum Aktualisieren von Daten in einer Datenbank oder zum Aktualisieren von Dateien auf dem Server. Das Folgende ist ein spezifisches Codebeispiel, das die PUT-Anforderungsmethode in jQuery verwendet. Stellen Sie zunächst sicher, dass Sie die jQuery-Bibliotheksdatei einschließen. Anschließend können Sie eine PUT-Anfrage senden über: $.ajax({u

Wie entferne ich das Höhenattribut eines Elements mit jQuery? Bei der Front-End-Entwicklung müssen wir häufig die Höhenattribute von Elementen manipulieren. Manchmal müssen wir möglicherweise die Höhe eines Elements dynamisch ändern, und manchmal müssen wir das Höhenattribut eines Elements entfernen. In diesem Artikel wird erläutert, wie Sie mit jQuery das Höhenattribut eines Elements entfernen, und es werden spezifische Codebeispiele bereitgestellt. Bevor wir jQuery zum Betreiben des Höhenattributs verwenden, müssen wir zunächst das Höhenattribut in CSS verstehen. Das Höhenattribut wird verwendet, um die Höhe eines Elements festzulegen

Titel: jQuery-Tipps: Ändern Sie schnell den Text aller Tags auf der Seite. In der Webentwicklung müssen wir häufig Elemente auf der Seite ändern und bedienen. Wenn Sie jQuery verwenden, müssen Sie manchmal den Textinhalt aller a-Tags auf der Seite gleichzeitig ändern, was Zeit und Energie sparen kann. Im Folgenden wird erläutert, wie Sie mit jQuery den Text aller Tags auf der Seite schnell ändern können, und es werden spezifische Codebeispiele angegeben. Zuerst müssen wir die jQuery-Bibliotheksdatei einführen und sicherstellen, dass der folgende Code in die Seite eingefügt wird: <

Titel: Verwenden Sie jQuery, um den Textinhalt aller Tags zu ändern. jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur Verarbeitung von DOM-Operationen verwendet wird. Bei der Webentwicklung müssen wir häufig den Textinhalt des Link-Tags (eines Tags) auf der Seite ändern. In diesem Artikel wird erläutert, wie Sie mit jQuery dieses Ziel erreichen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die Seite einführen. Fügen Sie den folgenden Code in die HTML-Datei ein:

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat

jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur DOM-Manipulation und Ereignisbehandlung in Webseiten verwendet wird. In jQuery wird die Methode eq() verwendet, um Elemente an einer bestimmten Indexposition auszuwählen. Die spezifischen Verwendungs- und Anwendungsszenarien sind wie folgt. In jQuery wählt die Methode eq() das Element an einer angegebenen Indexposition aus. Indexpositionen beginnen bei 0 zu zählen, d. h. der Index des ersten Elements ist 0, der Index des zweiten Elements ist 1 und so weiter. Die Syntax der eq()-Methode lautet wie folgt: $("s

Parameter 1:basename()2:copy()3:dirname()4:disk_free_space()5:disk_total_space()6:file_exists()7:file_get_contents()8:file_put_contents()9:filesize()10:filetype( )11:glob()12:is_dir()13:is_writable()14:mkdir()15:move_uploaded_file()16:parse_ini_file()17:
