javascript - Berkenaan masalah yang dihadapi semasa menggunakan jquery.lazyload, sila bantu!
ringa_lee
ringa_lee 2017-05-19 10:45:21
0
3
623

Saya mendapati bahawa pemalam ini nampaknya tidak memproses elemen yang dimasukkan secara dinamik, yang bermaksud elemen yang dimasukkan secara dinamik tidak boleh dipaparkan seperti biasa, tetapi sentiasa memaparkan imej yang sedang dimuatkan ialah untuk menambah elemen unik pada nod yang baru dimasukkan . bekas, dan kemudian mulakan bekas itu.

            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_lee
ringa_lee

ringa_lee

membalas semua(3)
黄舟

Bukankah ini hebat? . .

lazyload bukan monitor, jadi secara semula jadi ia tidak boleh memberi kesan pada elemen yang dimasukkan kemudian. . .

仅有的幸福

Saya menemui penyelesaian yang lebih baik, cuma tanggalkan cangkuk malas dan itu sahaja

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

Tambahan dinamik, selepas menambah, tambah .loadlazy() pada elemen yang baru ditambah, bukan?

https://jsfiddle.net/06rcojjd/

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan