【发布时间】:2017-06-28 19:02:12
【问题描述】:
我的 Uni 模块的一部分要求我制作一个使用随机元素来混合故事的网络故事。我在 JS 中使用 GetElementById 将一个随机图像从一个数组嵌入到一个 div 中,效果很好。图像成为 div 的背景,然后我在图像顶部添加了文本 - 这一切都很好。
但问题是我希望图像稍微透明,以便文本更易于阅读,但是无论我尝试什么解决方案,我都无法让它工作。
我已经尝试在 CSS 和 JS 中使 div 透明,但是包括文本在内的整个 div 都会受到影响,这与这一点无关。然后当我在 CSS 中尝试 RGBA 样式时,图像不受影响。
所以我需要的是通过 JS 加载到 div 中的图像稍微透明,而 HTML 文档中 div 中的文本保持不变。
这是我用来随机选择图片的 JS:
function randomGun() {
var imgCount = 3;
var dir = 'img/';
var randomCount = Math.round(Math.random() * (imgCount - 1)) + 1;
var images = new Array
images[1] = "gun1.jpg",
images[2] = "gun2.jpg",
images[3] = "gun3.jpg",
document.getElementById("left").style.backgroundImage = "url(" + dir + images[randomCount] + ")";
}
<div id="container">
<div id="left">
<a id="message">Drive a bit closer to see if anybody is there.</a>
</div>
<script>
window.onload = randomGun()
</script>
</div>
【问题讨论】:
-
您好,欢迎来到 StackOverflow。这里的要求之一是您提供您遇到问题的代码示例,以便我们可以更仔细地查看它。请编辑您的答案以添加您编写的代码,否则很难为您提供帮助。
-
我添加了一些示例代码,希望对您有所帮助
-
我为你创建了一个 sn-p。它显示JS无效-您需要将
var images = new Array images[1] = "gun1.jpg", images[2] = "gun2.jpg", images[3] = "gun3.jpg",更改为var images = [ images[1] = "gun1.jpg", images[2] = "gun2.jpg", images[3] = "gun3.jpg"]-注意缺少逗号和使用[]
标签: javascript image opacity getelementbyid