Rumah hujung hadapan web tutorial js Laksanakan fungsi memuatkan data secara automatik apabila halaman menatal ke hujung berdasarkan jquery_jquery

Laksanakan fungsi memuatkan data secara automatik apabila halaman menatal ke hujung berdasarkan jquery_jquery

May 16, 2016 pm 03:24 PM
jquery autoload

Kini, Weibo, WeChat atau aplikasi lain yang sering kita gunakan mempunyai fungsi pemuatan tak segerak Secara ringkasnya, apabila kita menyemak imbas Weibo atau WeChat, selepas beralih ke bahagian atas atau bawah antara muka, program ini melepasi pemuatan asynchronous Kaedah ini mempercepatkan. pemuatan data kerana ia hanya memuatkan sebahagian daripada data setiap kali Apabila kami mempunyai sejumlah besar data tetapi tidak dapat memaparkan kesemuanya, kami boleh mempertimbangkan untuk menggunakan kaedah tak segerak untuk memuatkan data.

Pemuatan data tak segerak boleh berlaku secara automatik apabila pengguna mengklik butang "Lihat Lagi" atau bar skrol menatal ke bahagian bawah tetingkap dalam catatan blog seterusnya, kami akan memperkenalkan cara melaksanakan fungsi memuatkan lebih banyak secara automatik .

Rajah 1 Weibo memuatkan lebih banyak fungsi

Teks

Andaikan data mesej pengguna disimpan dalam pangkalan data kami Sekarang, kami perlu membuka antara muka API dalam bentuk Perkhidmatan Web untuk pelanggan memanggil. untuk membiarkan pelanggan memanggil (Sila rujuk di sini untuk butiran).

Helaian Data
Mula-mula, kami mencipta jadual data T_Paginate dalam pangkalan data, yang mengandungi tiga medan ID, Nama dan Mesej, dengan ID ialah nilai kenaikan automatik.

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]


Salin selepas log masuk


Rajah 2 Jadual data T_Paginate

Model Objek Data
Kami mentakrifkan model objek data Mesej berdasarkan jadual data T_Paginate, yang mengandungi tiga medan: Id, Nama dan Ulasan Definisi khusus adalah seperti berikut:

/// <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; }
}
Salin selepas log masuk

Kaedah Perkhidmatan Web
Sekarang, kita perlu melaksanakan kaedah GetListMessages(), yang memperoleh data paging yang sepadan berdasarkan bilangan paging yang diluluskan oleh klien dan mengembalikannya kepada klien dalam format JSON Sebelum melaksanakan GetListMessages() kaedah, kami Pertama, kami akan memperkenalkan kaedah pertanyaan paging data.

Dalam pangkalan data Mysql, kami boleh menggunakan fungsi had untuk melaksanakan pertanyaan paging data, tetapi tiada fungsi serupa yang disediakan dalam SQL Server Kemudian, kami boleh menggunakan inisiatif subjektif kami - melaksanakannya sendiri Pelaksanaan khusus adalah seperti berikut :

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
Salin selepas log masuk

Di atas kami mentakrifkan ungkapan jadual biasa Results_CTE, yang memperoleh data dalam jadual T_Paginate dan mengisihnya mengikut nilai ID dari kecil ke besar, dan kemudian memberikan nilai ROW_NUMBER ​​​​mengikut susunan ini, di mana @Start dan @Offset ialah julat data untuk ditanya .

Seterusnya, mari kita laksanakan kaedah GetListMessages(), pelaksanaan khusus adalah seperti berikut:

/// <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);
  }
}

Salin selepas log masuk

Di atas, kami mentakrifkan kaedah GetListMessages() demi kesederhanaan, kami menulis operasi pangkalan data secara langsung pada Perkhidmatan Web. Harap maafkan saya cipta Objek JavaScriptSerializer mensiri data ke dalam format JSON dan mengembalikannya kepada klien.

Javascript
Memandangkan kami memanggil API Perkhidmatan Web tempatan, kami menghantar permintaan asal yang sama untuk memanggil antara muka API (contoh permintaan silang asal Pelaksanaan khusus adalah seperti berikut:

).

$.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>' + ' —&#63;' + '<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());
    }
  });
};

Salin selepas log masuk

Di atas, kami menentukan kaedah getData(), yang menggunakan kaedah jQuery.ajax() untuk menghantar permintaan asal yang sama untuk memanggil antara muka GetListMessages Apabila data berjaya dimuatkan dan dipaparkan dalam div hasil, paging nombor (groupNumber) ditambah satu.

Sekarang, kami telah melaksanakan kaedah getData() Setiap kali pengguna menyeret bar skrol ke bawah, kaedah getData() dipanggil untuk mendapatkan data Kemudian, kami perlu menggabungkan kaedah getData(). acara bar skrol Mengikat, pelaksanaan khusus adalah seperti berikut:

// 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);
    }
  }
});
Salin selepas log masuk

Di atas, kami melaksanakan acara tatal jQuery Apabila bar tatal menatal ke bawah, kaedah getData() dipanggil untuk mendapatkan data dalam pelayan.

Gaya CSS
Seterusnya, kami menambah gaya CSS pada program, yang ditakrifkan secara khusus seperti berikut:

@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;}
Salin selepas log masuk

Gambar 3 Memuatkan lebih banyak program

Di atas, kami melaksanakan jQuery untuk memuatkan lebih banyak program secara automatik dan menghantar permintaan tak segerak untuk mendapatkan data daripada pelayan apabila bar skrol mencapai bahagian bawah.

Kami memperkenalkan pemuatan data tak segerak melalui jQuery melalui program Demo Sudah tentu, ia juga melibatkan pertanyaan halaman data Di sini kami menggunakan ungkapan jadual biasa tersuai Results_CTE untuk mendapatkan data penomboran, dan kemudian, melalui $.ajax(. ) kaedah menghantar permintaan asal yang sama untuk memanggil API Perkhidmatan Web apabila data berjaya diperoleh, data dikembalikan dalam format JSON Akhirnya, kami memaparkan data pada halaman.

Di atas adalah keseluruhan kandungan artikel ini, saya harap ia akan membantu kajian semua orang.

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjelasan terperinci kaedah rujukan jQuery: Panduan permulaan cepat Penjelasan terperinci kaedah rujukan jQuery: Panduan permulaan cepat Feb 27, 2024 pm 06:45 PM

Penjelasan terperinci kaedah rujukan jQuery: Panduan Mula Pantas jQuery ialah perpustakaan JavaScript yang popular yang digunakan secara meluas dalam pembangunan tapak web Ia memudahkan pengaturcaraan JavaScript dan menyediakan pemaju dengan fungsi dan ciri yang kaya. Artikel ini akan memperkenalkan kaedah rujukan jQuery secara terperinci dan menyediakan contoh kod khusus untuk membantu pembaca bermula dengan cepat. Memperkenalkan jQuery Pertama, kita perlu memperkenalkan perpustakaan jQuery ke dalam fail HTML. Ia boleh diperkenalkan melalui pautan CDN atau dimuat turun

Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Feb 28, 2024 pm 03:12 PM

Bagaimana untuk menggunakan kaedah permintaan PUT dalam jQuery? Dalam jQuery, kaedah menghantar permintaan PUT adalah serupa dengan menghantar jenis permintaan lain, tetapi anda perlu memberi perhatian kepada beberapa butiran dan tetapan parameter. Permintaan PUT biasanya digunakan untuk mengemas kini sumber, seperti mengemas kini data dalam pangkalan data atau mengemas kini fail pada pelayan. Berikut ialah contoh kod khusus menggunakan kaedah permintaan PUT dalam jQuery. Mula-mula, pastikan anda memasukkan fail perpustakaan jQuery, kemudian anda boleh menghantar permintaan PUT melalui: $.ajax({u

Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Feb 28, 2024 am 08:39 AM

Bagaimana untuk mengalih keluar atribut ketinggian elemen dengan jQuery? Dalam pembangunan bahagian hadapan, kita sering menghadapi keperluan untuk memanipulasi atribut ketinggian elemen. Kadangkala, kita mungkin perlu menukar ketinggian unsur secara dinamik, dan kadangkala kita perlu mengalih keluar atribut ketinggian unsur. Artikel ini akan memperkenalkan cara menggunakan jQuery untuk mengalih keluar atribut ketinggian elemen dan memberikan contoh kod khusus. Sebelum menggunakan jQuery untuk mengendalikan atribut ketinggian, kita perlu terlebih dahulu memahami atribut ketinggian dalam CSS. Atribut ketinggian digunakan untuk menetapkan ketinggian elemen

Petua jQuery: Cepat ubah suai teks semua teg pada halaman Petua jQuery: Cepat ubah suai teks semua teg pada halaman Feb 28, 2024 pm 09:06 PM

Tajuk: Petua jQuery: Cepat ubah suai teks semua teg pada halaman Dalam pembangunan web, kita selalunya perlu mengubah suai dan mengendalikan elemen pada halaman. Apabila menggunakan jQuery, kadangkala anda perlu mengubah suai kandungan teks semua teg dalam halaman sekaligus, yang boleh menjimatkan masa dan tenaga. Berikut akan memperkenalkan cara menggunakan jQuery untuk mengubah suai teks semua teg pada halaman dengan cepat, dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan fail perpustakaan jQuery dan memastikan bahawa kod berikut dimasukkan ke dalam halaman: &lt

Gunakan jQuery untuk mengubah suai kandungan teks semua teg Gunakan jQuery untuk mengubah suai kandungan teks semua teg Feb 28, 2024 pm 05:42 PM

Tajuk: Gunakan jQuery untuk mengubah suai kandungan teks semua teg jQuery ialah perpustakaan JavaScript yang popular yang digunakan secara meluas untuk mengendalikan operasi DOM. Dalam pembangunan web, kita sering menghadapi keperluan untuk mengubah suai kandungan teks tag pautan (tag) pada halaman. Artikel ini akan menerangkan cara menggunakan jQuery untuk mencapai matlamat ini dan memberikan contoh kod khusus. Pertama, kita perlu memperkenalkan perpustakaan jQuery ke dalam halaman. Tambahkan kod berikut dalam fail HTML:

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Feb 29, 2024 am 09:03 AM

Bagaimana untuk mengetahui sama ada elemen jQuery mempunyai atribut tertentu? Apabila menggunakan jQuery untuk mengendalikan elemen DOM, anda sering menghadapi situasi di mana anda perlu menentukan sama ada sesuatu elemen mempunyai atribut tertentu. Dalam kes ini, kita boleh melaksanakan fungsi ini dengan mudah dengan bantuan kaedah yang disediakan oleh jQuery. Berikut akan memperkenalkan dua kaedah yang biasa digunakan untuk menentukan sama ada elemen jQuery mempunyai atribut khusus, dan melampirkan contoh kod tertentu. Kaedah 1: Gunakan kaedah attr() dan operator jenis // untuk menentukan sama ada elemen mempunyai atribut tertentu

Fahami peranan dan senario aplikasi eq dalam jQuery Fahami peranan dan senario aplikasi eq dalam jQuery Feb 28, 2024 pm 01:15 PM

jQuery ialah perpustakaan JavaScript popular yang digunakan secara meluas untuk mengendalikan manipulasi DOM dan pengendalian acara dalam halaman web. Dalam jQuery, kaedah eq() digunakan untuk memilih elemen pada kedudukan indeks tertentu Senario penggunaan dan aplikasi khusus adalah seperti berikut. Dalam jQuery, kaedah eq() memilih elemen pada kedudukan indeks yang ditentukan. Kedudukan indeks mula dikira dari 0, iaitu indeks elemen pertama ialah 0, indeks elemen kedua ialah 1, dan seterusnya. Sintaks kaedah eq() adalah seperti berikut: $("s

Ringkasan fungsi operasi fail yang biasa digunakan dalam PHP Ringkasan fungsi operasi fail yang biasa digunakan dalam PHP Apr 03, 2024 pm 02:52 PM

目录1:nama asas()2:salinan()3:nama nama()4:ruang_bebas_cakera()5:ruang_jumlah_cakera()6:wujud_fail()7:fail_dapatkan_kandungan()8:isi_letak_fail()9:saiz fail()10:jenis fail( )11:glob()12:is_dir()13:boleh_tulis()14:mkdir()15:move_uploaded_file()16:parse_ini_file()17:

See all articles