Jquery 如何:长列表视图与缩略图延迟加载?

Jquery 如何:长列表视图与缩略图延迟加载?,jquery,mobile,lazy-loading,thumbnails,Jquery,Mobile,Lazy Loading,Thumbnails,我需要帮助。 我有一个带有缩略图图标的长列表视图。 像这样- 我如何调整系统,以便在第一次只有项目显示在屏幕上,这些缩略图将被加载。然后,如果用户向下滚动,将加载更多的缩略图。 也就是说,当用户向下滚动时,图像将被加载 同样的事情也发生在Facebook时间线上。试着看看旧的帖子 我不知道如何轻松做到这一点?尝试以下演示: 用法HTML: <ul class="items"> <li>content</li> <li>content&

我需要帮助。 我有一个带有缩略图图标的长列表视图。 像这样-

我如何调整系统,以便在第一次只有项目显示在屏幕上,这些缩略图将被加载。然后,如果用户向下滚动,将加载更多的缩略图。 也就是说,当用户向下滚动时,图像将被加载

同样的事情也发生在Facebook时间线上。试着看看旧的帖子

我不知道如何轻松做到这一点?

尝试以下演示:

用法HTML:

<ul class="items">
   <li>content</li>
   <li>content</li>
   ...
</ul>
<div id="lastPostsLoader"></div>
<script type="text/javascript">
$(document).ready(function(){
    function lastAddedLiveFunc()
    {
        $('div#lastPostsLoader').html('<img src="bigLoader.gif">');

        $.get("loadmore.php", function(data){
            if (data != "") {
                //console.log('add data..');
                $(".items").append(data);
            }
            $('div#lastPostsLoader').empty();
        });
    };

    //lastAddedLiveFunc();
    $(window).scroll(function(){

        var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight =     $(window).height();
        var  scrolltrigger = 0.95;

        if  ((wintop/(docheight-winheight)) > scrolltrigger) {
         //console.log('scroll bottom');
         lastAddedLiveFunc();
        }
    });
});
<div id="postswrapper">
   <div class="item">content</div>
   ...
   <div id="loadmoreajaxloader" style="display:none;"><center><img src="ajax-loader.gif" /></center></div>
</div>
<script type="text/javascript">
$(window).scroll(function()
{
    if($(window).scrollTop() == $(document).height() - $(window).height())
    {
        $('div#loadmoreajaxloader').show();
        $.ajax({
        url: "loadmore.php",
        success: function(html)
        {
            if(html)
            {
                $("#postswrapper").append(html);
                $('div#loadmoreajaxloader').hide();
            }else
            {
                $('div#loadmoreajaxloader').html('<center>No more posts to show.  </center>');
            }
        }
        });
    }
});
</script>
  • 内容
  • 内容
  • ...
用法jQuery:

<ul class="items">
   <li>content</li>
   <li>content</li>
   ...
</ul>
<div id="lastPostsLoader"></div>
<script type="text/javascript">
$(document).ready(function(){
    function lastAddedLiveFunc()
    {
        $('div#lastPostsLoader').html('<img src="bigLoader.gif">');

        $.get("loadmore.php", function(data){
            if (data != "") {
                //console.log('add data..');
                $(".items").append(data);
            }
            $('div#lastPostsLoader').empty();
        });
    };

    //lastAddedLiveFunc();
    $(window).scroll(function(){

        var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight =     $(window).height();
        var  scrolltrigger = 0.95;

        if  ((wintop/(docheight-winheight)) > scrolltrigger) {
         //console.log('scroll bottom');
         lastAddedLiveFunc();
        }
    });
});
<div id="postswrapper">
   <div class="item">content</div>
   ...
   <div id="loadmoreajaxloader" style="display:none;"><center><img src="ajax-loader.gif" /></center></div>
</div>
<script type="text/javascript">
$(window).scroll(function()
{
    if($(window).scrollTop() == $(document).height() - $(window).height())
    {
        $('div#loadmoreajaxloader').show();
        $.ajax({
        url: "loadmore.php",
        success: function(html)
        {
            if(html)
            {
                $("#postswrapper").append(html);
                $('div#loadmoreajaxloader').hide();
            }else
            {
                $('div#loadmoreajaxloader').html('<center>No more posts to show.  </center>');
            }
        }
        });
    }
});
</script>

$(文档).ready(函数(){
函数lastAddedLiveFunc()
{
$('div#lastposloader').html(“”);
$.get(“loadmore.php”,函数(数据){
如果(数据!=“”){
//console.log('adddata..');
$(“.items”)。追加(数据);
}
$('div#lastposloader').empty();
});
};
//lastAddedLiveFunc();
$(窗口)。滚动(函数(){
var wintop=$(窗口).scrollTop(),docheight=$(文档).height(),winheight=$(窗口).height();
var scrolltrigger=0.95;
如果((wintop/(winheight))>scrolltrigger){
//log(“滚动底部”);
lastAddedLiveFunc();
}
});
});


用法HTML:

<ul class="items">
   <li>content</li>
   <li>content</li>
   ...
</ul>
<div id="lastPostsLoader"></div>
<script type="text/javascript">
$(document).ready(function(){
    function lastAddedLiveFunc()
    {
        $('div#lastPostsLoader').html('<img src="bigLoader.gif">');

        $.get("loadmore.php", function(data){
            if (data != "") {
                //console.log('add data..');
                $(".items").append(data);
            }
            $('div#lastPostsLoader').empty();
        });
    };

    //lastAddedLiveFunc();
    $(window).scroll(function(){

        var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight =     $(window).height();
        var  scrolltrigger = 0.95;

        if  ((wintop/(docheight-winheight)) > scrolltrigger) {
         //console.log('scroll bottom');
         lastAddedLiveFunc();
        }
    });
});
<div id="postswrapper">
   <div class="item">content</div>
   ...
   <div id="loadmoreajaxloader" style="display:none;"><center><img src="ajax-loader.gif" /></center></div>
</div>
<script type="text/javascript">
$(window).scroll(function()
{
    if($(window).scrollTop() == $(document).height() - $(window).height())
    {
        $('div#loadmoreajaxloader').show();
        $.ajax({
        url: "loadmore.php",
        success: function(html)
        {
            if(html)
            {
                $("#postswrapper").append(html);
                $('div#loadmoreajaxloader').hide();
            }else
            {
                $('div#loadmoreajaxloader').html('<center>No more posts to show.  </center>');
            }
        }
        });
    }
});
</script>

内容
...
用法jQuery:

<ul class="items">
   <li>content</li>
   <li>content</li>
   ...
</ul>
<div id="lastPostsLoader"></div>
<script type="text/javascript">
$(document).ready(function(){
    function lastAddedLiveFunc()
    {
        $('div#lastPostsLoader').html('<img src="bigLoader.gif">');

        $.get("loadmore.php", function(data){
            if (data != "") {
                //console.log('add data..');
                $(".items").append(data);
            }
            $('div#lastPostsLoader').empty();
        });
    };

    //lastAddedLiveFunc();
    $(window).scroll(function(){

        var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight =     $(window).height();
        var  scrolltrigger = 0.95;

        if  ((wintop/(docheight-winheight)) > scrolltrigger) {
         //console.log('scroll bottom');
         lastAddedLiveFunc();
        }
    });
});
<div id="postswrapper">
   <div class="item">content</div>
   ...
   <div id="loadmoreajaxloader" style="display:none;"><center><img src="ajax-loader.gif" /></center></div>
</div>
<script type="text/javascript">
$(window).scroll(function()
{
    if($(window).scrollTop() == $(document).height() - $(window).height())
    {
        $('div#loadmoreajaxloader').show();
        $.ajax({
        url: "loadmore.php",
        success: function(html)
        {
            if(html)
            {
                $("#postswrapper").append(html);
                $('div#loadmoreajaxloader').hide();
            }else
            {
                $('div#loadmoreajaxloader').html('<center>No more posts to show.  </center>');
            }
        }
        });
    }
});
</script>

$(窗口)。滚动(函数()
{
if($(窗口).scrollTop()==$(文档).height()-$(窗口).height())
{
$('div#loadmoreajaxloader').show();
$.ajax({
url:“loadmore.php”,
成功:函数(html)
{
如果(html)
{
$(“#postswraper”).append(html);
$('div#loadmoreajaxloader').hide();
}否则
{
$('div#loadmoreajaxloader').html('不再显示帖子');
}
}
});
}
});