Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; DLE_Comments has a deprecated constructor in /var/www/dlefaq/data/www/dle-faq.ru/engine/classes/comments.class.php on line 21 Lazyload не хочет грузить картинку при переключении AJAX Tab? :: DLE FAQ

Технический сбой

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

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


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

вопрос
Привет всем!
Нужна ваша помощь, либо совет как совместить 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 - -

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

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

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

progressive
Юзер

progressive - -

Сделал вот так
// 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 мне кажется это изваращенство?
Ну по другому не как, не грузились картинки :((

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

наверх