7

I am developing a web page in JSP/HTML in which I have to disable/ 'gray screen' an entire web page on a button click event so that an end user can't access the other element in web page until it's disabled.

How can I accomplish this?

That1Guy
  • 7,075
  • 4
  • 47
  • 59
Tokendra Kumar Sahu
  • 3,524
  • 11
  • 28
  • 29

5 Answers5

17

CSS:

#cover {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   opacity: 0.80;
   background: #aaa;
   z-index: 10;
   display: none;
}

HTML :

<body>
<div id="wrap">
 // your normal contents here
</div>
<div id="cover"> </div>
</body>

jquery :

//trigger on whatever event required.
$("#cover").fadeIn(100);
alert("something");
$("#cover").fadeOut(100); //after done.
brianff
  • 175
  • 7
KBN
  • 2,915
  • 16
  • 27
8

You may use jQuery BlockUI Plugin.

It is simple.

Alfred
  • 21,058
  • 61
  • 167
  • 249
4

There are may ways to achieve this.. but the simplest one which i came across is to use div tag to cover the page and then remove it when event is complete

$('body').append('<div id="over" style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');

This will add a div tag to whole body.At the end of function include this

$("#over").remove();
vikrant
  • 399
  • 3
  • 12
2

If you can use JQuery, and need some user input on top the gray area, try JQUery UI Dialog, and set it as modal

Eran Medan
  • 44,555
  • 61
  • 184
  • 276
2

The basic technique for this is to add a 100% width and height div on top of everything.

$('body').append('<div class="cover"/>').css({
    position: 'absolute',
    height: '100%',
    width: '100%',
    zIndex: '999'
});

Then make your modal window z-index: 1000.

elclanrs
  • 92,861
  • 21
  • 134
  • 171