Se avessi un gruppo di tuffi posizionati in modo assoluto e si sovrapponessero, come potrei ottenere un certo div in anticipo? Grazie ancora ragazzi!C'è un modo in jQuery per portare un div in primo piano?
risposta
Questa è una cosa CSS, non una cosa jQuery (anche se è possibile utilizzare jQuery per modificare il css).
$('element').css('z-index', 9999); // note: it appears 'zIndex' no longer works
Oppure, posizionamento assoluto porterà qualcosa verso l'alto:
$('element').css('position', 'absolute');
penso che avrete bisogno di entrambi, quindi posizione: assoluto E z-inde: 1 –
concordato, ma questo appartiene veramente al css a meno che non si stia reagendo alle interazioni dell'utente –
Sembra che voglia farlo dinamicamente e vuole sapere se jQuery ha questa funzionalità. – Greg
Utilizzare .css() e applicare l'attributo position e l'attributo z-index.
In alternativa, applica una classe con gli attributi di cui hai bisogno con jQuery. – airmanx86
Sarebbe eccessivo di utilizzare jQuery per questo. Invece usare i CSS' z-index property:
<style type="text/css">
#myElement {
z-index: 50000;
}
</style>
Inizialmente ero d'accordo con questa risposta, ma sembra che la domanda riguardi il portare un certo div (di div sovrapposte) in primo piano quando necessario. L'impostazione di un particolare div in cima al markup statico non risolverà il problema. –
5 anni dopo. Come posso portare un div in prima fila? Risposta: 'z-index: 5000000000000;' – teynon
Fondamentalmente deve essere 1 superiore al più alto 'z-index' sulla pagina. –
Quando si lavora con più elementi dovrete scorrere e vedere quale ha il più alto z-index, e impostare la parte superiore a quella + 1.
http://jsfiddle.net/forresto/Txh7R/
var topZ = 0;
$('.class-to-check').each(function(){
var thisZ = parseInt($(this).css('zIndex'), 10);
if (thisZ > topZ){
topZ = thisZ;
}
});
$('.clicked-element').css('zIndex', topZ+1);
Per una versione non-CSS (se nessuno degli strati hanno z-index specificata) si può anche semplicemente aggiungere l'elemento nuovo:
$('.click-to-top').click(function(){
$(this).parent().append(this);
});
(Non so se sia più lento rispetto a CSS z-index
.)
Per non-CSS non-jQuer y, basta aggiungerla nuovamente:
// var element = document...;
element.parentNode.appendChild(element);
Questa è una risposta utile per coloro che desiderano qualcosa di dinamico, in particolare se si utilizzano elementi trascinabili. – dennisbest
manca il segno '$' ??? - $ (this) .parent(). append ($ (this)); ??? – Atara
Nah, '$(). Append (elemento)' funziona. – forresto
Con jQuery (come ti ha chiesto):
$('#a-div').parent().append($('#a-div')); // Pop a div to the front
strano come tutti sono andati con z-index. Perché sovrascrivere l'ordine di impilamento naturale quando puoi farlo scoppiare in primo piano all'interno del DOM?
Impressionante idea e approccio, è strano andare su z-index quando questo approccio esiste, e accetto che la prima cosa che mi è venuta in mente è stato z-index: $ –
Questo approccio aggiunge molti elementi del bambino che sono stati aggiunti ? per favore chiariscilo per me – qualebs
@qualebs no sta afferrando un elemento esistente e spostandolo in cima all'ordine di impilamento – Yarin
utilizza z-index con css ... – Reigel