【发布时间】:2021-12-08 13:37:52
【问题描述】:
这些是我创建的函数
函数 prova 在 for 循环中进行提取,然后使用我要显示的内容的值创建各种变量
function prova() {
//Ciclo la fetch per avere solamente i pokemon di settima generazione
for (let index = 1; index < 899; index++) {
const id = index;
fetch(
`https://pokeapi.co/api/v2/pokemon/${id}/`,
{ method: "GET" }
//Attendo la risposta del server
).then(async (response) => {
//do il valore dei vari oggetti alle variabili
let rispostaFetch = await response.json();
let pokemonNumber = rispostaFetch.id;
let pokemonName = rispostaFetch.name.charAt(0).toUpperCase() + rispostaFetch.name.slice(1); //Rendo maiuscola solo la prima lettera
//Do il valore a pokemontypes di un nuovo array contente gli elementi dell'array pokemontypes.type.name con il metodo .map()
let pokemontypes=rispostaFetch.types.map((pokemontypes) => pokemontypes.type.name)
let pokemontype1 = pokemontypes[0];
let pokemontype2 =pokemontypes[1];
Card(pokemontype1,pokemontype2,pokemonNumber,pokemonName);
});
}
}
Card 函数创建 div,然后将 appendchild 添加到 pokGen div
function Card(pokemontype1,pokemontype2,pokemonNumber,pokemonName) {
//creo dinamicamente un Div con classe .pokemonCard + il risultato della funzione ActiveTypeSecond che dinamicamente mette il tipo di carta (fuoco, erba)
// e metto come id #pokemon#+ la variabile pokemonNumber (il risultato sarà: #pokemon#1 ecc)
let pokemonWrapper = document.createElement('div');
pokemonWrapper.classList.add("pokemonCard", ActiveTypeSecond(pokemontype1.toLowerCase()));
pokemonWrapper.id ='pokemon#'+pokemonNumber;
//All'interno di questo div avrà quanto segue:
pokemonWrapper.innerHTML = `
<div class="pokemonPicture">
<img class="pokemonImage" src="https://assets.pokemon.com/assets/cms2/img/pokedex/full/${ActiveLink(pokemonNumber)}.png" alt="">
</div>
<div class="pokemonName&Number">
<span class ="numeroPokemon">N°${pokemonNumber}</span>
<h3 class ="nomePokemon">${pokemonName}</h3>
</div>
<div class="pokemonTipo">
<ul class="pokemonlista">
<li class="pokemonType">Type:</li>
<span class="separatore"></span>
${Type2Pokemon(pokemontype1,pokemontype2,)}
</ul>
</div>`;
if (pokemonNumber <152) {
const pokGen1 = document.getElementById('PrimaGen')
pokGen1.appendChild(pokemonWrapper)
pagina.appendChild(pokGen1)
}
if (pokemonNumber > 151 && pokemonNumber < 252) {
const pokGen2 = document.getElementById('SecondaGen')
pokGen2.appendChild(pokemonWrapper)
pagina.appendChild(pokGen2)
}
if (pokemonNumber > 251 && pokemonNumber < 387) {
const pokGen3 = document.getElementById('TerzaGen')
pokGen3.appendChild(pokemonWrapper)
pagina.appendChild(pokGen3)
}
if (pokemonNumber > 386 && pokemonNumber < 494) {
const pokGen4 = document.getElementById('QuartaGen')
pokGen4.appendChild(pokemonWrapper)
pagina.appendChild(pokGen4)
}
if (pokemonNumber > 493 && pokemonNumber < 650) {
const pokGen5 = document.getElementById('QuintaGen')
pokGen5.appendChild(pokemonWrapper)
pagina.appendChild(pokGen5)
}
if (pokemonNumber > 649 && pokemonNumber < 722) {
const pokGen6 = document.getElementById('SestaGen')
pokGen6.appendChild(pokemonWrapper)
pagina.appendChild(pokGen6)
}
if (pokemonNumber > 722 && pokemonNumber < 810) {
const pokGen7 = document.getElementById('SettimaGen')
pokGen7.appendChild(pokemonWrapper)
pagina.appendChild(pokGen7)
}
if (pokemonNumber > 809 && pokemonNumber < 899) {
const pokGen8 = document.getElementById('OttavaGen')
pokGen8.appendChild(pokemonWrapper)
pagina.appendChild(pokGen8)
}
}
各种 appendchild 之后 div 的顺序不对,如何解决?
【问题讨论】:
-
请尝试创建一个最小的可重现示例。您也可以使用 Javascript/HTML/CSS sn-p(从左到右第 7 个图标)
标签: javascript html api