当我的sidenav打开时,我想改变身体的不透明度。
它完美地工作!但是现在我面临的问题是,我的图像无法获得这种效果,它们仍然像以前一样明亮。
如何更改图像和其他所有内容(例如iframe内容)是否具有相同的效果?
这是身体不透明的工作代码:
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
document.body.style.backgroundColor = "rgba(0,0,0,0.6)";
}
问候
最佳答案
尝试
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
document.body.style.opacity = "0.6";
}
编辑:
如果您的结构如下,这实际上可能是一个问题:
<body>
<!-- some content -->
<div id="mySidenav">
<!-- sidebar content -->
</div>
</body>
如果是这样,则上述功能将使您体内的所有物体(包括侧边栏)变为半透明。
因此,我将尝试将您所有的内容包装在一个单独的div中,作为包装并使其不透明:
<body>
<div id="wrap">
<!-- original body content -->
</div>
<div id="mySidenav">
<!-- sidebar content -->
</div>
</body>
并更新JS函数以反映这种变化:
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
document.getElementById("wrap").style.opacity = "0.6";
}
另外-如果您有一些依赖
body
的css,则可能会有些破损,因此您可能还必须尝试一下。关于javascript - 打开sidenav时体内图像的不透明度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41129649/