搜尋

首頁  >  問答  >  主體

javascript - 關於jquery.lazyload使用時遇到的問題,求救!

發現這個外掛似乎沒有對動態插入的元素做處理,也就是說動態插入的元素是無法正常顯示,而是一直顯示loading圖片,我現在的臨時解決方法是,給新插入的節點加一個唯一的容器,然後對這個容器進行初始話,大家有什麼辦法嗎?

            var index = 0;
            var tpl = $("#template").text();
            $('#addItem').on('click', function () {
                var html = render(tpl, item);

                var $container = $('<p id="newItem' + index++ + '"></p>');

                $('body').append($container.html(html));

                $container.find("img.lazy").lazyload({
                    effect: "fadeIn",
                    load: function (index, elem) {
                        $(this).parent('.box').css('background', '#fff');
                    }
                });

            });
ringa_leeringa_lee2737 天前614

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-05-19 10:47:21

    這不是挺好麼。 。 。

    lazyload不是監聽,自然不能對後插入的元素生效。 。 。

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-05-19 10:47:21

    找到更好的解決方案了,直接將掛鉤lazy去掉,就可以了

                $("img.lazy").lazyload({
                    effect: "fadeIn",
                    load: function (index, elem) {
                        $(this).parent('.box').css('background', '#fff').find('img').removeClass('lazy');
                    }
                });
    

    回覆
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:47:21

    動態添加,添加完了對新添加的元素加個 .loadlazy() 不行嗎?

    https://jsfiddle.net/06rcojjd/

    回覆
    0
  • 取消回覆