javascript - jQuery 延迟加载插件对加载的图像应用效果

标签 javascript jquery jquery-lazyload

我有一个包含大量图像的网站,因此我使用ajax创建了无限滚动,并且我还使用了延迟加载插件:http://www.appelsiini.net/projects/lazyload

我的问题是:我想使用 fadeIn 效果来加载图像,当我加载第一组图像时这很好,但是当我单击“加载更多”时,fadeIn 效果将应用于那些已经可见的图像,并且到那些当前正在加载的。 因此那些已经加载的图像会消失并以淡入效果出现。

如何将淡入效果仅应用于当前正在加载的图像?

这是我加载图像的方式:

$(".loadMore").click(function(){
        ... some validation
        $.ajax({
            type: "POST",
            url: "/loadMore/"+option+"/"+posts,
            dataType: "json",
            beforeSend: function(){
                t.html(lang.loading);
            },
            success: function(data){
                t.html(lang.loadMore);
                for(var i in data.posts.id){
                    append(data.posts.id[i], data.posts.countComments[i], data.posts.image[i], data.posts.title[i], data.posts.link[i], data.posts.username[i], data.posts.date[i], data.posts.new_tab[i], data.posts.is_saved[i], false);
                }

                if(data.msg == "stop"){
                    t.hide();
                }
                $("img.lazy").lazyload({skip_invisible : false,failure_limit : 15, effect: "fadeIn"});
            }

        });
    });

最佳答案

尝试在ajax成功方法之外设置lazyload插件。我相信你只需要设置一次。

$("img.lazy").lazyload({skip_invisible : false,failure_limit : 15, effect: "fadeIn"}).removeClass("lazy");

$(".loadMore").click(function(){
    ... some validation
    $.ajax({
         ...
             $("img.lazy").lazyload(
                 {
                     skip_invisible : false,
                     failure_limit : 15, 
                     effect: "fadeIn"
                  }).removeClass("lazy");
         ...
    });
});

关于javascript - jQuery 延迟加载插件对加载的图像应用效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25592175/

相关文章:

jquery - 延迟加载插件和 Jscroll 不能一起工作,图像无法加载

javascript - 从多数组对象 lodash 中获取选定的字段

javascript - 将鼠标滚轮/滚动事件从一个 div 转移到另一个 div

php - 根据 ajax 回调的返回数据停止表单加载

使用类对复选框组进行 jQuery 验证

javascript - 需要在打印预览对话框中单击取消和打印按钮时关闭 iframe

jquery - rowsTotal、recordsFiltered 解释 Jquery DataTable

javascript - 有没有一种方法可以指定在序列化时将对象的哪些数据传递给序列化程序?

javascript - 将 jquery 延迟加载插件与 ZURB 基础数据交换一起使用

javascript - jquery-databables 中的 jquery-lazyload 图像