亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Jquery中創建包含多個頁面的列表

在Jquery中創建包含多個頁面的列表

喵喔喔 2022-08-04 16:13:52
我正在制作一個包含產品列表的頁面(使用ajax加載),但我只想顯示6個產品/頁面,但我不知道如何做到這一點,我找不到任何實現我想要的東西的例子。因此,例如,如果我有20個產品,我想在第一頁顯示6個,在第二頁顯示6個,..等到最后一頁的最后一個產品(頁面始終相同,只有產品更改)。所以在頁面的末尾,我必須有第1-n頁 有人可以幫助我嗎?這是加載產品的js,并在另一個下面顯示它們:$(document).ready(function () {  $.ajax({    type: "GET",    url: "json/projects.json",    dataType: "json",    success: function (data) {      showInfo(data);    },  });});function showInfo(data) {  var htmlString = "";  if (data.length == 0) {    htmlString =      "<span id = " +      "message>" +      "Non è stato trovato alcun progetto" +      "</span>";    $("#list").append(htmlString);  } else {    //altrimenti stampo data    for (i = 0; i < data.length; i++) {      //scorro tutto il mio file json      htmlString =       "<div class = " + "project id = " + data[i].id + ">" +         "<div class =" + "row-list>" +        "<div class = " + "title>" + data[i].title + "</div>" +        "<div class = " + "info>" + "<img src = " + "img/user.png>" + data[i].username + "</div>" +        "<div class = " + "info>" + "<img src = " + "img/budget.png>" + data[i].budget + "</div>" +        "<div class = " + "info>" + "<img src = " + "img/data.png>" + data[i].data + "</div>" +        "<div class = " + "flag>" + data[i].flag + "</div>" +      "</div>";      // collego al div #list le informazioni      $("#list").append(htmlString);    }    // aggiungo l'handler per visualizzare i dettagli quando un progetto viene cliccato    $(".project").click(function () {      window.location.href = "details.php?id=" + $(this).attr("id");    });  }}
查看完整描述

1 回答

?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

如果頁面沒有更改,您可以保持在同一頁面上,同時只需更改顯示的產品即可。


下面是一個簡化版本,用于演示其工作原理:


// create 20 product names

  let products = [];

  for (let i=1; i<=20; i++) {

    products.push(`This is Product Name ${i}`);

  }

  let firstShown = 0;

  const display = document.getElementById('display');


  // display up to 6 products on page

  function addToDisplay(first) {

    display.innerHTML = '';

    let last = Math.min(first+5, products.length-1);

    for (let i = first; i <= last; i++) {

      let li = document.createElement('li');

      li.innerHTML = products[i];

      display.appendChild(li);

    }

  }


  function forward () {

    display.innerHTML = '';

    firstShown += 5;

    addToDisplay(firstShown);

  }


  function back () {

    display.innerHTML = '';

    firstShown = Math.max(firstShown-5, 0);

    addToDisplay(firstShown);

  }


  // show initial 6 producs

  addToDisplay(firstShown);

<p>Display multiple products 6 at a time<br/>

  <button type="button" onclick="back();">Back</button>

  <button type="button" onclick="forward();">Forward</button>

</p>

  <ul id="display"></ul>


查看完整回答
反對 回復 2022-08-04
  • 1 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號