我使用Giphy的API来学习如何制作一个随机的GIF生成器。下面的代码工作正常,生成一个GIF并将其放入imageContainer
,但我想知道我可以添加什么,以便在单击randomDog
按钮时在imageContainer
中显示新的GIF?现在看起来,如果您点击按钮,请求更多GIF成功,但它们不会发布到图像容器中,因为它已经有一个GIF。如何用新内容onclick替换图像容器中的内容?
这是我的JavaScript:
document.addEventListener('DOMContentLoaded', function() {
request = new XMLHttpRequest;
request.open('GET', 'http://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=cute+dog', true);
document.getElementById("randomDog").onclick = function() {
if (request.status >= 200 && request.status < 400){
data = JSON.parse(request.responseText).data.image_url;
console.log(data);
document.getElementById("imageContainer").innerHTML = '<center><img src = "'+data+'" title="GIF via Giphy"></center>';
} else {
console.log('reached giphy, but API returned an error');
}
};
request.onerror = function() {
console.log('connection error');
};
request.send();
});
这是我的HTML:
<!DOCTYPE html>
<html>
<head>
<link rel= "stylesheet" type="text/css" href="dogstyle.css">
<meta charset="UTF-8">
<title>Sadness be gone!</title>
</head>
<body>
<div id="headers">
<h1> Having a bad day?</h1>
<h1> Not anymore! </h1>
</div>
<h3 id="subheader">Happiness and fluffyness is just a click away</h3>
<div id="imageContainer"></div>
<button id="randomDog" class="button">Click away!</button>
<script src="js/experiment.js"></script>
</body>
提前感谢!
刚刚转会请求到onclick处理 – paqash
这岂不是更简单给图像标签的'ID' ,目标'ID'并改变'src'? 'document.getElementById(“ImageID”).src = data' – NewToJS