上記コードではスクロールバーが表示される場合にはスクロール領域外には設定が反映されません。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link rel="stylesheet" type="text/css" href="FadeDark.css" />
<script type="text/javascript">
function fade() {
var target = document.getElementById("fadeLayer");
target.style.visibility = "visible";
}
</script>
</head>
<body>
<div class="MainFrame">
あいうえお<br />
ABCDE<br />
<div style="height:120px"></div>
<a href="javascript:void(0);" onclick="fade();">黒フェード</a>
</div>
<div id="fadeLayer"></div>
</body>
</html>
body {
background-image:URL("img/img.jpg");
}
.MainFrame {
text-align:center;
margin-left:auto;
margin-right:auto;
width:420px;
background-color:#FFFFFF;
}
#fadeLayer {
position:absolute;
top:0px;
left:0px;
width:100%;
height:100%;
background-color:#000000;
opacity:0.5;
visibility:hidden;
z-index:1;
}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link rel="stylesheet" type="text/css" href="FadeLight.css" />
<script type="text/javascript">
function fade() {
var target = document.getElementById("fadeLayer");
target.style.visibility = "visible";
}
</script>
</head>
<body>
<div class="MainFrame">
あいうえお<br />
ABCDE<br />
<div style="height:120px"></div>
<a href="javascript:void(0);" onclick="fade();">白フェード</a>
</div>
<div id="fadeLayer"></div>
</body>
</html>
body {
background-image:URL("img/img.jpg");
}
.MainFrame {
text-align:center;
margin-left:auto;
margin-right:auto;
width:420px;
background-color:#FFFFFF;
}
#fadeLayer {
position:absolute;
top:0px;
left:0px;
width:100%;
height:100%;
background-color:#FFFFFF;
opacity:0.75;
visibility:hidden;
z-index:1;
}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<link rel="stylesheet" type="text/css" href="FadeDark.css" />
<script type="text/javascript">
function fade() {
var target = document.getElementById("fadeLayer");
var maxheightA = Math.max(document.body.clientHeight, document.body.scrollHeight)
var maxheightB = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight)
var MaxHeight = Math.max(maxheightA,maxheightB);
target.style.height = MaxHeight+"px";
var maxwidthA = Math.max(document.body.clientWidth, document.body.scrollWidth)
var maxwidthB = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth)
var MaxWidth = Math.max(maxwidthA, maxwidthB);
target.style.width = MaxWidth + "px";
//下記の記述でも良い
/*
var MaxHeight = Math.max(
Math.max(document.body.clientHeight, document.body.scrollHeight),
Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight));
target.style.height = MaxHeight+"px";
var MaxWidth = Math.max(
Math.max(document.body.clientWidth, document.body.scrollWidth),
Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth));
target.style.width = MaxWidth + "px";
*/
target.style.visibility = "visible";
}
</script>
</head>
<body>
<div class="MainFrame">
あいうえお<br />
ABCDE<br />
<div style="height:120px"></div>
<a href="javascript:void(0);" onclick="fade();">黒フェード</a>
</div>
<div id="fadeLayer"></div>
</body>
</html>