recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Concernant les problèmes rencontrés lors de l'utilisation de jquery.lazyload, aidez-moi s'il vous plaît!

J'ai trouvé que ce plug-in ne semble pas traiter les éléments insérés dynamiquement, ce qui signifie que les éléments insérés dynamiquement ne peuvent pas être affichés normalement, mais affichent toujours l'image de chargement. Ma solution temporaire actuelle consiste à ajouter un élément unique au nœud nouvellement inséré. .conteneur, puis initialisez le conteneur. Pouvez-vous faire quelque chose ?

            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_lee2769 Il y a quelques jours643

répondre à tous(3)je répondrai

  • 黄舟

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

    N'est-ce pas génial ? . .

    lazyload n'est pas un écouteur, donc naturellement il ne peut pas prendre effet sur les éléments insérés ultérieurement. . .

    répondre
    0
  • 仅有的幸福

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

    J'ai trouvé une meilleure solution, il suffit de retirer le crochet paresseux et c'est tout

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

    répondre
    0
  • 巴扎黑

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

    Ajout dynamique, après l'ajout, ajoutez un .loadlazy() à l'élément nouvellement ajouté, n'est-ce pas ?

    https://jsfiddle.net/06rcojjd/

    répondre
    0
  • Annulerrépondre