#javascript #jquery
Здравствуйте. Подскажите, пожалуйста, каким образом нужно изменить скрипт, чтобы можно было работать с условием "если то" для следующей функции: -- Jquery -- $(document).ready(function(){ $('.photo li').waitForImages(function() { // Функция, которая следит, загрузилась ли картинка. if($(this)){ $(this).show(); // если картинка найдена, показываем элемент с картинкой. }else{ $(this).remove(); // если нет, удаляем элемент. } }); }); -- CSS -- .photo:nth-child(1) li:nth-child(1) {background: url("../img/cake.jpg") no-repeat;} - такая картинка есть. .photo:nth-child(2) li:nth-child(1) {background: url("../img/caked.jpg") no-repeat;} - такой нет. .photo:nth-child(3) li:nth-child(1) {background: url("../img/cakef.jpg") no-repeat;} - такой нет. .photo li { display: inline-block; border: 1px solid black; width: 270px; height: 200px; } -- HTML --
Ответы
Ответ 1
https://jsfiddle.net/95gz9sav/ $(function(){ $('.photo li').waitForImages({ each: function(loaded, count, success) { $(this)[success ? 'show' : 'remove'](); }, waitForAll: true }); });Ответ 2
Решение может быть подобным этому: Работающий пример http://jsbin.com/kikedeqeki/edit?html,output $(function(){ $('.photo > li').each(function(i, el) { var bgImg = new Image(); bgImg.src = getComputedStyle($(this).get(0)).backgroundImage.split('"')[1]; bgImg.onerror = function(){ $(el).remove(); }; }); });
Комментариев нет:
Отправить комментарий