Lo he solucionado.
El tema estaba en que no quería usar ningun script para no relentizar más la web a la hora de cargar, así que he hecho lo siguiente:
Código:
$("#costa").click(function(){
$('body').prepend("<div id='cont'>");
$('body').append("</div>");
$("#escondida").css('display', 'block');
$("#cont").animate({
opacity:0.9
});
$("#escondida").animate({
opacity:1
});
$('#escondida').css({
position:'absolute',
left: ($('body').width() - 448)/2,
top: ($('body').height() - 303)/2
});
});
});
Si pincho en el elemento "costa", mediante append y prepend, añado las etiquetas en el body para crear la capa "cont", que contiene a toda la web, y tiene de fondo un png de 1px negro con opacidad 0.9.