suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Bezüglich der Probleme, die bei der Verwendung von jquery.lazyload aufgetreten sind, helfen Sie bitte!

Ich habe festgestellt, dass dieses Plug-in anscheinend keine dynamisch eingefügten Elemente verarbeitet, was bedeutet, dass dynamisch eingefügte Elemente nicht normal angezeigt werden können, sondern immer das Ladebild angezeigt wird. Meine aktuelle temporäre Lösung besteht darin, dem neu eingefügten Knoten ein eindeutiges Element hinzuzufügen .container, und initialisieren Sie den Container. Können Sie etwas tun?

            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 Tage vor616

Antworte allen(3)Ich werde antworten

  • 黄舟

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

    这不是挺好么。。。

    lazyload不是监听,自然不能对后插入的元素生效。。。

    Antwort
    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');
                    }
                });
    

    Antwort
    0
  • 巴扎黑

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

    动态添加,添加完了对新添加的元素加个 .loadlazy() 不行吗?

    https://jsfiddle.net/06rcojjd/

    Antwort
    0
  • StornierenAntwort