当前位置: 代码迷 >> JavaScript >> 如何使图像显示在容器 Div 内?
  详细解决方案

如何使图像显示在容器 Div 内?

热度:99   发布时间:2023-06-12 14:01:13.0

简单地说,我有一个 javascript 代码,当用户单击按钮时,它会生成一个随机图像。 它是一个带有一个按钮和一个容器 div 的空页面。 问题是图像出现在容器外,它直接出现在 . 我需要控制它出现的位置。 我想要它在容器内。 我不是 javascript 专家,我只是在长时间搜索后找到了代码。 我需要帮助,谢谢:)

代码在这里: :

function display_random_image() 
{
var theImages = [{
src: "http://farm4.staticflickr.com/3691/11268502654_f28f05966c_m.jpg",
width: "240",
height: "160"
}, {
src: "http://farm1.staticflickr.com/33/45336904_1aef569b30_n.jpg",
width: "320",
height: "195"
}, {
src: "http://farm6.staticflickr.com/5211/5384592886_80a512e2c9.jpg",
width: "500",
height: "343"
}];

var preBuffer = [];
for (var i = 0, j = theImages.length; i < j; i++) {
preBuffer[i] = new Image();
preBuffer[i].src = theImages[i].src;
preBuffer[i].width = theImages[i].width;
preBuffer[i].height = theImages[i].height;
}

// create random image number
function getRandomInt(min,max) 
{
//  return Math.floor(Math.random() * (max - min + 1)) + min;

imn = Math.floor(Math.random() * (max - min + 1)) + min;
return preBuffer[imn];
}  

// 0 is first image,   preBuffer.length - 1) is  last image

var newImage = getRandomInt(0, preBuffer.length - 1);

// remove the previous images
var images = document.getElementsByTagName('img');
var l = images.length;
for (var p = 0; p < l; p++) {
images[0].parentNode.removeChild(images[0]);
}
// display the image  
var targetContainer = document.getElementsByClassName("container");
targetContainer[0].appendChild(newImage);
}

您将图像附加到正文而不是 div。 获取 div var targetContainer = document.getElementsByClassName("container"); 然后附加它targetContainer[0].appendChild(newImage);

 function display_random_image() { var theImages = [{ src: "http://farm4.staticflickr.com/3691/11268502654_f28f05966c_m.jpg", width: "240", height: "160" }, { src: "http://farm1.staticflickr.com/33/45336904_1aef569b30_n.jpg", width: "320", height: "195" }, { src: "http://farm6.staticflickr.com/5211/5384592886_80a512e2c9.jpg", width: "500", height: "343" }]; var preBuffer = []; for (var i = 0, j = theImages.length; i < j; i++) { preBuffer[i] = new Image(); preBuffer[i].src = theImages[i].src; preBuffer[i].width = theImages[i].width; preBuffer[i].height = theImages[i].height; } // create random image number function getRandomInt(min,max) { // return Math.floor(Math.random() * (max - min + 1)) + min; imn = Math.floor(Math.random() * (max - min + 1)) + min; return preBuffer[imn]; } // 0 is first image, preBuffer.length - 1) is last image var newImage = getRandomInt(0, preBuffer.length - 1); // remove the previous images var images = document.getElementsByTagName('img'); var l = images.length; for (var p = 0; p < l; p++) { images[0].parentNode.removeChild(images[0]); } // display the image var targetContainer = document.getElementsByClassName("container"); targetContainer[0].appendChild(newImage); }
 body {margin-top: 30px;}
 <div class="container"> <button id="jsstyle" onclick="display_random_image();">Show Image</button> </div> <!-- Container -->

  相关解决方案