希望能够单击图像并使用与单击的海报匹配的 imdbID 显示来自第二个 fetch 调用的数据。
我正在尝试将电影海报打印到页面上 - 然后电影海报将是可点击的 - 点击后它们将在 div (“信息”)中显示导演、演员和年份信息。
我不知道如何让所有图像对点击事件做出反应。(我认为这是因为 img id,但如果我按类获取图像,我无法让代码工作)。我可以从第二次获取中获取数据,但它仅适用于第一张海报和最后一张图片中的数据。(第一张海报也是唯一可以点击的。
这里的代码沙盒: https ://codesandbox.io/s/1ojvormxn7
我可以控制台记录第二次调用的数据,但它与图像不匹配,我不确定如何将它打印到需要去的地方。
document.getElementById("searchButton").addEventListener("click", () => {
const inputSearch = document.getElementById("searchInput").value;
//console.log(inputSearch);
fetch(`https://www.omdbapi.com/?apikey=d2d93339&s=${inputSearch}`)
.then(response => response.json())
.then(data => {
console.log(data);
let posterImage = "";
let imdb = "";
data.Search.map(results => {
//console.log(results.Poster);
return (
(posterImage += `<img id="resultPic" class="resultPic" src="${
results.Poster
}">`) && (imdb = results.imdbID)
);
});
document.getElementById("app").innerHTML = posterImage;
document
.getElementById("resultPic")
.addEventListener("click", getInfo => {
fetch(`https://www.omdbapi.com/?apikey=d2d93339&i=${imdb}`)
.then(response => response.json())
.then(data => {
console.log(data);
});
});
});
});