Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Lazyload не хочет грузить картинку при переключении AJAX Tab?

Lazyload не хочет грузить картинку при переключении AJAX Tab?


     12.01.2019    Ajax, javascript, dle 13.1    Общие вопросы, Хаки    184

вопрос
Привет всем!
Нужна ваша помощь, либо совет как совместить LazyLoad c AJAX.

Используется хак - Ajax подгрузка custom в нужный блок

Находится в shortstory.tpl
<img class="lazyload" data-src="[xfvalue_image_url_logo]" title="{title}" />

Находится в шаблон/js/custom.js
$(function() { $("img").lazyload({ effect: "fadeIn", threshold : 10 }); }); 

Находится в main.tpl
<script src="https://cdn.jsdelivr.net/npm/lazyload@2.0.0-beta.2/lazyload.min.js"></script> 


LazyLoad прекрасно гармонирует уже с имеющимся картинками на первой за груженой странице, но если подгрузить новости через Ajax (переключая на другой таб), то LazyLoad никак себя не проявляет.
Можно их как-то совместить?
:)

Ответил: PunPun


После
$("[data-trigercajax]").html(data);
Вставить
$("img").lazyload({ effect: "fadeIn", threshold : 10 });

2 комментария

progressive
Юзер

progressive - 12 января 2019 14:03 -

Почти, все отлично...
Первый таб, который выводит первые новости страницу, картинку нет!
Грузит только тогда, переключавшийся по табам

На сайт зашел картинок нет у новостей, переключился на другой там картинки начали грузится))

как исправить? :)))

progressive
Юзер

progressive - 12 января 2019 14:14 -

Сделал вот так
// LazyLoad img подгрузка
$(function() { $(".lazyload img").lazyload({ effect: "fadeIn"  }); }); 

// подргузка новостей AJAX 
$(function($){
   $("body").on("click", "[data-ajaxc]", function(){
     var $castom = $(this).attr("data-ajaxc");
   $.post(dle_root+"engine/ajax/custom.php", {castom:$castom}, function(data){
   $("[data-trigercajax]").html(data);
   $("img").lazyload({ effect: "fadeIn"  });    
      });
   })
});

в shortstory.tpl
<div class="logo lazyload"><img class="lazyload" data-src="[xfvalue_image_url_logo]" title="{title}" /></div>


Ну что то дважды прописано в классах lazyload мне кажется это изваращенство?
Ну по другому не как, не грузились картинки :((

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх