@ended

Правильно ли я вывожу определенный текст при показе определенной картинки?

Создал простенький скрипт, который выводит определенный текст при выборе определенной картинки. Все работает, но у меня вопрос: можно ли сделать еще проще? Все картинки будут лежать на сервере и подгружаться с него и картинок будет около 80, но выбираться будет из них одна.

<div id="name"></div>
<img id="nft">


window.onload = function() {
   let a=Math.round(Math.random()*3);

let name = (a == 3) ? ('popit'):
(a == 2) ? ('popi1'):
(a == 1) ? ('popi2'):
'popi3';

image = new Array();
image[0]="https://www.powerbox-systems.com/uploads/tx_pbsproducts/4450_01_Hauptbild_PB_Competition_SR2.png"
image[1]="https://www.powerbox-systems.com/uploads/tx_pbsproducts/4772_03_Hauptbild_01.png"
image[2]="https://i.ytimg.com/vi/jxtQZ9vY3ek/mqdefault.jpg"
image[3]="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSEbLUl_QT9T2qYctHutRriXPPy7XW53NcdmDT3L2qarp_LT2JhTJLu9qkDE5r2F-doUAY&usqp=CAU"

let nft = document.getElementById('nft');
nft.src = image[a];

document.getElementById("name").innerHTML=name;
};
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
danya7423
@danya7423
Full-Stack разработчик
Так, код будет более читабельным:
window.onload = function() {
   let a = Math.round(Math.random()*3);

   let names = {
        1: "popi2",
        2: "popi1",
        3: "popit",
        default: "popi3"
    }
    let name = names[a] || names['default']

    let images = ["https://www.powerbox-systems.com/uploads/tx_pbsproducts/4450_01_Hauptbild_PB_Competition_SR2.png",
    "https://www.powerbox-systems.com/uploads/tx_pbsproducts/4772_03_Hauptbild_01.png",
    "https://i.ytimg.com/vi/jxtQZ9vY3ek/mqdefault.jpg",
    "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSEbLUl_QT9T2qYctHutRriXPPy7XW53NcdmDT3L2qarp_LT2JhTJLu9qkDE5r2F-doUAY&usqp=CAU"]

    let nft = document.getElementById('nft');
    nft.src = images[a];

    document.getElementById("name").innerHTML = name;
};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы