javascript - 使用 Javascript 和 DOM 在 div 元素中加载图像

标签 javascript html css image dom

基本上,我想要做的是加载图像,使整个图像占据浏览器框架的背景,我已经能够静态地做到这一点没有问题。我正在尝试实现它,以便我可以动态加载随机生成的不同图像。

如果我使用 document.body.style.backgroundImage="url('img/"+ image.image + "')"; 我可以看到它加载的图像很好。但有时图像底部边界附近会有空白。

理想情况下,我想将它设置在一个 div 中,但是,这也不会加载,我只剩下白色背景: document.getElementById("pic").style.backgroundImage = "url('img/"+ image.image + "')"; 我也试过: document.getElementById("pic").style.background = "url('img/"+ image.image + "')";

如果我在 css 中为我的“图片”类指定一个静态图像,它会完美地工作。 前任。 背景:url("http://lorempixel.com/1600/1200/nature/");

这是 CSS:

body {  
  top:0px;
  left:0px;
  height:100%;
  width:100%;  
  z-index:-1;
  opacity:1;
  background-repeat: no-repeat;
  background-size: cover;
}
.pic {
  position:fixed;
  top:0px;
  left:0px;
  width:100%;
  height:100%;
  z-index:-1;
  opacity:1;
  background-repeat: no-repeat;
  background-size: cover;
}

我可以使用 body 或 div 元素,只要我可以在框架中动态加载图像而没有空格或重复。另外,我不明白为什么我根本无法让 div 的背景动态加载,如果有人可以解释我在那里做错了什么。任何帮助将不胜感激。

最佳答案

您似乎在 div 标签上设置了类“pic”,但您正在获取元素 div 及其 id('pic')。

或者,将 div 元素上的 'pic' 值的属性 'class' 更改为 'id',

喜欢用

<div id="pic">

代替

<div class="pic">

或者,使用getElementsByClassName()方法,比如

document.getElementsByClassName("pic")[0].style.backgroundImage = "url('img/" + image.image + "')";

代替

document.getElementById("pic").style.backgroundImage = "url('img/" + image.image + "')";

关于javascript - 使用 Javascript 和 DOM 在 div 元素中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24846911/

相关文章:

javascript - IE8 - 视差内容 slider 自动播放问题

javascript - 模态背景模糊

c# - 使用 LINQ to XML 遍历 HTML 表

html - 如何防止下拉菜单隐藏在 Spectre CSS 中带有徽章的按钮后面

html - 针对移动设备和大屏幕尺寸的 CSS 媒体查询

html - 在同一个元素上使用 CSS Child 和 Last Selector

iphone - CSS 查询不适用于我的 iPhone 4

javascript - 如何在javascript中聚焦按钮

javascript - 选择 div 中的当前元素

jquery - 如果确认提示错误,则从复选框中删除勾号