2010-07-13 8 views
23

अगर मैं निरपेक्ष तैनात divs का एक समूह था और वे ओवरलैप हो, मैं कैसे एक निश्चित div सामने आने के लिए मिल जाएगा? फिर से धन्यवाद दोस्तों!क्या एक div को सामने लाने के लिए jQuery में कोई तरीका है?

+0

सीएसएस के साथ जेड-इंडेक्स का उपयोग करें ... – Reigel

उत्तर

40

यह एक सीएसएस चीज है, एक jQuery चीज नहीं है (हालांकि आप सीएसएस को संशोधित करने के लिए jQuery का उपयोग कर सकते हैं)।

$('element').css('z-index', 9999); // note: it appears 'zIndex' no longer works 

या, पूर्ण स्थिति शीर्ष के लिए कुछ लाना होगा:

$('element').css('position', 'absolute'); 
+2

मुझे लगता है कि आपको दोनों की आवश्यकता होगी, इसलिए स्थिति: पूर्ण और जेड-इंडे: 1 –

+2

सहमत हुए, लेकिन यह वास्तव में सीएसएस में है जब तक कि आप उपयोगकर्ता इंटरैक्शन पर प्रतिक्रिया नहीं दे रहे हैं –

+0

ऐसा लगता है कि वह यह गतिशील रूप से करना चाहता है और जानना चाहता है कि क्या jQuery में यह कार्यक्षमता है। – Greg

1

.css() का उपयोग करें और स्थिति विशेषता और जेड-इंडेक्स विशेषता लागू करें।

+1

वैकल्पिक रूप से उस वर्ग को लागू करें जिसमें आपको वह विशेषता है जो आपको jQuery के साथ चाहिए। – airmanx86

1

यह इस के लिए jQuery का उपयोग करने के overkill होगा। इसके बजाय सीएसएस 'z-index property का उपयोग करें:

<style type="text/css"> 
    #myElement { 
    z-index: 50000; 
    } 
</style> 
+3

के पदानुक्रमिक रूप से मैंने शुरुआत में इस उत्तर के साथ सहमति व्यक्त की लेकिन ऐसा लगता है कि सवाल आवश्यक होने पर सामने के लिए एक निश्चित div (ओवरलैपिंग divs) लाने के बारे में है। स्थैतिक मार्कअप में शीर्ष पर एक विशेष div सेट करना समस्या को हल नहीं करेगा। 512 बाद में –

+0

। मैं सामने एक div कैसे ला सकता हूँ? उत्तर: 'z- सूचकांक: 5000000000000;' – teynon

+0

मूल रूप से यह है पृष्ठ पर उच्चतम 'z-index' से कम 1 अधिक होने की। –

15

आप एक से अधिक तत्वों के साथ काम कर रहे हैं जब आप के माध्यम से लूप करने के लिए है और देखते हैं जो उच्चतम z- सूचकांक है, और वह + 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); 

एक गैर सीएसएस संस्करण (यदि परतों की कोई नहीं है z- सूचकांक निर्दिष्ट) आप भी बस फिर तत्व जोड़ सकते हैं के लिए:

$('.click-to-top').click(function(){ 
    $(this).parent().append(this); 
}); 

(मुझे नहीं पता कि यह सीएसएस z-index के मुकाबले धीमा है या नहीं।)

गैर-सीएसएस गैर-जेक्कर के लिए y, बस इसे फिर से संलग्न:

// var element = document...; 
element.parentNode.appendChild(element); 
+2

यह उन लोगों के लिए उपयोगी उत्तर है जो कुछ गतिशील चाहते हैं, खासकर यदि आप ड्रैग करने योग्य तत्वों का उपयोग कर रहे हैं। – dennisbest

+0

गायब '$' चिह्न ??? - $ (यह)। माता-पिता()। संलग्न ($ (यह)); ??? – Atara

+0

नाह, '$()। संलग्न (तत्व) 'काम करता है। – forresto

21

jQuery के साथ (जैसे आप से पूछा):

$('#a-div').parent().append($('#a-div')); // Pop a div to the front 

अजीब कैसे हर कोई z- सूचकांक के साथ चला गया। प्राकृतिक स्टैकिंग ऑर्डर को ओवरराइड क्यों करें जब आप इसे डीओएम के भीतर सामने ले जा सकते हैं?

+0

बहुत बढ़िया विचार और दृष्टिकोण, ये यह जब इस दृष्टिकोण से मौजूद है z- सूचकांक के लिए जाने के लिए अजीब है, और मैं स्वीकार करते हैं कि पहली बात यह है कि मेरे मन में आया था z- सूचकांक था: $ –

+0

इस दृष्टिकोण बच्चे के अनेक तत्वों जोड़कर संलग्न किया जा रहा है ? कृपया मेरे लिए यह स्पष्ट करें। – qualebs

+0

@qualebs कोई यह एक मौजूदा तत्व हथियाने और धन्यवाद @Yarin एक गुच्छा तुम मुझे बॉयलरप्लेट कोड का एक पैरा बचाया है आदेश – Yarin

संबंधित मुद्दे