jQuery LazyLoad отображает в скрытом отделении

У меня есть набор изображений, которые находятся в скрытом отделении. Отделение показывают, когда пользователь нажимает на некоторые ссылки.

Я хотел бы к jQuery lazyload скрыть эти изображения, пока на ссылку не нажимают, и скрытое отделение подвергается. Но, если я использую lazyload согласно документации, изображения всегда загружаются, как скрытое отделение находится в области просмотра, по-видимому.

какие-либо идеи?

5
задан xyzzy 18 April 2010 в 15:06
поделиться

2 ответа

Тимо, я думаю, он не хочет в любом случае загружать изображения в дом, прежде чем они ему понадобятся. Почему-то это классический сценарий использования ajax для загрузки контента.

Я предлагаю вам поступить следующим образом.

$.fn.image = function(src, f) {

        return this.each(function() {

            var i = new Image();

            i.src = src;

            i.onload = f;

            this.appendChild(i);

        });
    }

    $(function() {


        $('yourlink').click(function() {

            $("#container").image("image.jpg", function() {

                alert("image loaded");

            });
        });

    });
0
ответ дан 14 December 2019 в 13:30
поделиться

Вам действительно нужен плагин отложенной загрузки? Как насчет замены содержимого div изображениями при нажатии на ссылку?

Что-то вроде:

<a href="link" onclick="show_images('div_id');">asdf</a>

и

function show_images(id) { 
    $('#' + id).append('<img src="image1.jpg" /><img src="imagex.jpg" />'); 
}
3
ответ дан 14 December 2019 в 13:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: