Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

Как должно выглядеть условие, если перед ним расположена функция?

#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(); }; }); });

Комментариев нет:

Отправить комментарий