0

我正在建立一个允许用户上传图片、GIF 和视频的网站。在主页上,我希望有一个人们上传的文件列表,最好是基于受欢迎程度,但我还没有那么远。当页面首次加载时,我希望根据用户的屏幕分辨率显示一定数量的文件。在加载更多文件之前,用户可以向下滚动一点的地方。我现在的代码是这样的:

<article class="item thumb" data-width="282">
     <h2><?php echo $file_title;?></h2>
     <a href="<?php echo $randomImage ?>"><img src="<?php echo $randomImage ?>" alt=""></a>
</article>
<article class="item thumb" data-width="384">
     <h2><?php echo $file_title;?></h2>
     <a href="<?php echo $randomImage ?>"><img src="<?php echo $randomImage ?>" alt=""></a>
</article>

它总共执行了 8 次。当用户滚动时,如何使页面请求更多标签...就像 Facebook 在您向下滚动时加载更多内容一样?抱歉,如果我没有很好地解释这一点。

4

2 回答 2

0

您应该查看 window.onscroll 事件,在这里您可以连接到当有人在您的页面上滚动窗口时要调用的函数。然后,您可以决定是否需要加载更多内容。

与往常一样,MDN 对此有一些文档。看看 https://developer.mozilla.org/en-US/docs/Web/API/window.onscroll

于 2013-07-18T08:48:11.833 回答
0

我在我的网页上使用这种方法,我检查用户是否几乎滚动到页面底部(距离底部 200 像素),然后我将一些数据添加到现有元素。

我有一个 DIV (#main),我在其中读取最后一个条目的 ID,然后将此 ID 传递给 AJAX 页面并添加更多具有更高 ID 的条目。

$(document).ready(function() {

// Check if we have scrolled to the bottom (trigger 200px from bottom)
$(window).scroll(function() {   
  if($(window).scrollTop() + $(window).height() > $(document).height() - 200) {

    // Get the ID on the last DIV
    var lastDiv = $("#main").find("div:last");
    var lastID = lastDiv.attr("id");

    // Get the new weblog
    ajaxGet(lastID);
  }
});


// ajaxSend will send all form data for processing
// -----------------------------------------------
function ajaxGet (id) {
  $.ajax({
    url: "weblog_ajax.php",
    type: "get",
    data: { wid : id },
    async: false
  }).done(function(data) {
    $("#main").append(data); // append a new DIV
  }).fail(function(data) {
    // do something if it fails
  }).always(function(data) {
    // always do something
  });

} // function ajaxSend

});
于 2013-07-18T08:53:55.657 回答