Вот развернутый выведеный кусок кода единичный проход цикла что мне тут изменить
<div class="goods-cart"> <div class="goods-name">Бананка Duo</div> <div class="goods-img" id="goods-image"> <img id="0" class="square" src="некоторое фото"> <span class="text">Кликни фото для просмотра</span> </div> <div class="goods-cost">Цена: 189</div> <div class="goods-pol">Пол: женский</div> <div class="goods-knopka"> <button id="but" name="add-to-cart" data="0">Купить</button> </div> </div> |
Пробую решать таким способом
<div class="goods-cart"> <div class="goods-name">Бананка Duo</div> <div class="goods-img" id="goods-image"> <img id="0" class="lazy" data-original="некоторое фото"> <span class="text">Кликни фото для просмотра</span> </div> <div class="goods-cost">Цена: 189</div> <div class="goods-pol">Пол: женский</div> <div class="goods-knopka"> <button id="but" name="add-to-cart" data="0">Купить</button> </div> </div> $(document).ready(function(){ $("img.lazy").lazyload({ effect: "fadeIn" }); }); |
А ну и без этого никак
<script src="shop/jquery.lazyload.min.js" charset="utf-8"></script> библиотека лейзилоад и jquery |
Почемуто пустые картинки вроди все сделал правильно
|
Все получилось ура)
function showCategories(data,cool){ let j = cool; //console.log(j); let out = ''; for (let i = 0; i < data.length; i++){ if (data[i]['gsx$show']['$t'] != 0){ if(data[i]['gsx$category']['$t'] == j){ let str = data[i]['gsx$image']['$t']; let im = str.split(',')[0]; out +=`<div class="goods-category-cart">`; out +=`<div class="goods-category-name">${data[i]['gsx$name']['$t']}</div>`; out +=`<div class="goods-img" id="goods-image"> <img id="${data[i]['gsx$id']['$t']}" class="lazy" data-original="${im}"> <span class="text">Кликни фото для просмотра</span> </div>`; out +=`<div class="goods-cost">Цена: ${data[i]['gsx$cost']['$t']}гр</div>`; out +=`<div class="goods-pol">Пол: ${data[i]['gsx$pol']['$t']}</div>`; out +=`<div class="goods-knopka"><button id="but" name="add-to-cart" data="${data[i]['gsx$id']['$t']}">Купить</button></div>`; out +=`</div>`; }else if(j == 0){ let str = data[i]['gsx$image']['$t']; let im = str.split(',')[0]; out +=`<div class="goods-category-cart">`; out +=`<div class="goods-category-name">${data[i]['gsx$name']['$t']}</div>`; out +=`<div class="goods-img" id="goods-image"> <img id="${data[i]['gsx$id']['$t']}" class="lazy" data-original="${im}"> <span class="text">Кликни фото для просмотра</span> </div>`; out +=`<div class="goods-cost">Цена: ${data[i]['gsx$cost']['$t']}гр</div>`; out +=`<div class="goods-pol">Пол: ${data[i]['gsx$pol']['$t']}</div>`; out +=`<div class="goods-knopka"><button id="but" name="add-to-cart" data="${data[i]['gsx$id']['$t']}">Купить</button></div>`; out +=`</div>`; }else if(data[i]['gsx$type']['$t'] == j){ let str = data[i]['gsx$image']['$t']; let im = str.split(',')[0]; out +=`<div class="goods-category-cart">`; out +=`<div class="goods-category-name">${data[i]['gsx$name']['$t']}</div>`; out +=`<div class="goods-img" id="goods-image"> <img id="${data[i]['gsx$id']['$t']}" class="lazy" data-original="${im}"> <span class="text">Кликни фото для просмотра</span> </div>`; out +=`<div class="goods-cost">Цена: ${data[i]['gsx$cost']['$t']}гр</div>`; out +=`<div class="goods-pol">Пол: ${data[i]['gsx$pol']['$t']}</div>`; out +=`<div class="goods-knopka"><button id="but" name="add-to-cart" data="${data[i]['gsx$id']['$t']}">Купить</button></div>`; out +=`</div>`; }else if(j == 1){ } } } /*ЗАГРУЗКА ФОТОГРАФИЙ ТОВАРОВ ПО МЕРЕ СКРОЛЛИНГА*/ $(document).ready(function () { $("img.lazy").lazyload({ effect : "fadeIn" }); }); return out; } |
Только оно загружает именно всю страницу до скроллига а как сделать чтоб оно загружало только видимую часть и удаляло то что прокрутил или скрывало незнаю и мне ненравится задержка без нее вроди карисивее и быстрее загружались а вот счас когда на каждое фото вешается событие то получается дольше загружается возможно есть альтернатива этому?
|
Часовой пояс GMT +3, время: 12:57. |