Мне нравится делать это так:
HTML:
<div id='lb_background'></div>
<div id='lb_front'>This is where your content will go!<div id="countdown"></div></div>
CSS:
#lb_background {
position: absolute; /*THIS IS REQUIRED!*/
height: 100%;
width: 100%;
background-color: black;
z-index: 1000; /* In front of everything */
opacity: 0.6;
}
#lb_front {
padding: 20px;
z-index: 1001; /* In front of lb_background */
position: absolute;
top: 50px;
}
JQuery:
$('#lb_background').click(function(){
$('#lb_background, #lb_front').fadeOut(200)
});
EDIT
Вышесказанное - это то, что я легко использую для создания лайтбокса. Что касается обратного отсчета и таймера, который немного отличается.
JQuery:
$(function(){
var count = 10;
countdown = setInterval(function(){
$("#countdown").html(count + " seconds remaining!");
if (count == 0) {
$('#lb_background, $lb_front').fadeOut(200);
}
count--;
}, 1000);
});
(От: Как мне сделать обратный отсчет jQuery )