2012-12-07 20 views
16

Ho un DIV 'contenitore' che può avere tutti i possibili stili CSS come: margine, riempimento, bordo e posizione diversa (fissa, relativa, assoluta).Come aggiungere un DIV di sovrapposizione per coprire un DIV esistente (utilizzando JQuery)?

Voglio mostrare un'icona di caricamento sopra il DIV "contenitore" e vietare all'utente di utilizzare qualsiasi controllo nel DIV "contenitore".

<div class="container"> 
A lot of content here ... 
</div> 

Come posso aggiungere un DIV sovrapposizione (utilizzando jQuery), che copre l'intera area visibile DIV 'contenitore' (zona di margine non deve essere coperto)?

Con i migliori saluti, Zach

risposta

48

Se nulla per cambiare in CSS, quindi:

$("<div />").css({ 
    position: "absolute", 
    width: "100%", 
    height: "100%", 
    left: 0, 
    top: 0, 
    zIndex: 1000000, // to be on the safe side 
    background: "url(/img/loading.gif) no-repeat 50% 50%" 
}).appendTo($(".container").css("position", "relative")); 

DEMO:http://jsfiddle.net/jKfTC/

+1

potrebbe anche essere una buona idea per verificare se il '.container 'ha il posizionamento 'statico' prima di impostarne la posizione ... solo per rendere il codice riutilizzabile. –

+4

Si consiglia di definire tutti gli stili definiti prima nel file css anziché applicarlo al volo con jQuery. Mi piace così http://jsfiddle.net/jKfTC/1/ – 3dgoo

+0

Se il contenitore ha un bordo, il bordo non è coperto nella soluzione sopra. – Zach

Problemi correlati