【发布时间】:2015-02-05 00:52:45
【问题描述】:
我有两个相互重叠的 div。一个有背景图像,另一个是不透明度为 0 的叠加层。使用鼠标悬停时,背景会发生变化,并且叠加层的不透明度为 1,而在鼠标离开时,背景会变回原始图像,而叠加层会变回透明。
这是奇怪的部分,如果不透明度从 0 开始,它就不起作用。如果不透明度从 1 开始,它可以完美地工作,除了在页面加载时覆盖是可见的。那么发生了什么,我如何让它从不透明度为 0 开始工作?
HTML
<BODY>
<div id="corporate" onmouseover="changebg('contract.jpg', 1)"
onmouseleave="changebg('corporate.jpg', 0)"
onclick="changepage('corporate.html')"><div id="corporateoverlay">
<h1>Corporate</h1></div>
</div>
</BODY>
</HTML>
CSS
body {
background-color: #000000;
color: #ffff00;
}
h1 {text-align: center;}
#corporate {
width: 50%;
height: 250px;
clear: left;
float: left;
background-image: url('corporate.jpg');
background-size: 100%;
}
#corporateoverlay {
color: rgba(255,255,0,1)
}
JS
function changebg (newpic, opac) {
var urlString = 'url(' + newpic + ')';
document.getElementById("corporate").style.backgroundImage = urlString;
document.getElementById("corporateoverlay").style.opacity = opac;
}
【问题讨论】:
标签: javascript opacity