Установить заголовок для изображений при условии в JavaScript - PullRequest
1 голос
/ 22 апреля 2019

У меня следующий код JavaScript для отображения изображений и их информации.Из метода getImages () я получаю два массива ответов API.Первый массив содержит URL-адреса изображения, а второй - информацию о владельце и цене.Есть только 9 ответов API, из которых я получаю URL изображения, его владельца и информацию о цене.Таким образом, в цикле, для 9-итерационного URL-адреса, получаемого из API, а для остальных я устанавливаю некоторое изображение по умолчанию.Таким образом, для изображений по умолчанию информация о владельце и цене отсутствует, поэтому название для них отображать не следует.

window.onload = function () {
var allImages = "";
var owner,price;
var imgurl = getImages();
var imginfo = imgurl[1];
console.log(imginfo);
for (var i = 0, j = 298; i < j; i++) {

    if(imgurl[0][i] == undefined){imgurl[0][i]="image/upload.png"}

    if(typeof imginfo[i] === "undefined"){owner = ""; price=""; }
    else{owner = imginfo[i]["owner"]; price=imginfo[i]["price"];
    }

    allImages += '<img class="myImg" src='+ imgurl[0][i] +' id='+i+'_id onclick="openpopup(this.src)" title="owner='+owner+', price='+price+'">';

}

$('#photos').append(allImages);

};

Может кто-нибудь подсказать мне код?Как дать условие для установки заголовка изображения.Если ответ не определен, установите заголовок пустым.

Ответы [ 2 ]

2 голосов
/ 22 апреля 2019

Просто добавьте атрибут title в свою часть else и удалите его из тега <img>.

window.onload = function() {
  var allImages = "";
  var owner, price;
  var imgurl = getImages();
  var imginfo = imgurl[1];
  console.log(imginfo);
  for (var i = 0, j = 298; i < j; i++) {

    if (imgurl[0][i] == undefined) {
      imgurl[0][i] = "image/upload.png"
    }

    if (typeof imginfo[i] === "undefined") {
      owner = "";
    } else {
      owner = 'title="owner=' + imginfo[i]["owner"] + ', price=' + imginfo[i]["price"] + '"';
    }

    allImages += '<img class="myImg" src=' + imgurl[0][i] + ' id=' + i + '_id onclick="openpopup(this.src)" ' + owner + '>';

  }

  $('#photos').append(allImages);

};
1 голос
/ 22 апреля 2019

попробуйте, вы также можете использовать троичный оператор, если требуется.

window.onload = function () {
var allImages = "";
var owner,price;
var imgurl = getImages();
var imginfo = imgurl[1];
console.log(imginfo);
for (var i = 0, j = 298; i < j; i++) {
    var title="";
    if(imgurl[0][i] == undefined){imgurl[0][i]="image/upload.png"}

    if(!(typeof imginfo[i] === "undefined")){
     title="owner="+imginfo[i]["owner"]+", price="+imginfo[i]["price"]+"";
    }

    allImages += '<img class="myImg" src='+ imgurl[0][i] +' id='+i+'_id onclick="openpopup(this.src)" title="'+title+'">';
}

$('#photos').append(allImages);

};
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...