я совместил два способа. т.е. создаю
<div id="box"></div>
.overlay {
background:#666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) repeat scroll 50% 50%;
opacity: 0.5;
filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);
width:100%;
position: absolute;
left:0; top: 0px;
}
$("#box").addClass("overlay"); $("#box").height($(document).height());
и также
$("body").css("overflow","hidden");