2009-09-07 9 views
9

मेरे पास normaldiv वर्ग के साथ एक div normaldiv1 है। मैं स्टाइल प्रॉपर्टी के माध्यम से अपने जेड-इंडेक्स तक पहुंचने की कोशिश कर रहा हूं लेकिन यह हमेशा 0 लौटाता है हालांकि यह स्टाइलशीट में 2 पर सेट है।जावास्क्रिप्ट में एक डीआईवी की जेड-इंडेक्स प्राप्त करना?

सीएसएस:

.normaldiv 
{ 
    width:120px; 
    height:50px; 
    background-color:Green; 
    position: absolute; 
    left: 25px; 
    top:20px; 
    display:block; 
    z-index:2; 
} 

`

HTML:

<div id="normaldiv1" 
    class="normaldiv" 
    newtag="new" 
    tagtype="normaldiv1" 
    onmousedown="DivMouseDown(this.id);" 
    ondblclick="EditCollabobaTag(this.id,1);" 
    onclick="GetCollabobaTagMenu(this.id);" 
    onblur="RemoveCollabobaTagMenu(this.id);"> 

जावास्क्रिप्ट:

alert(document.getElementById('normaldiv1').style.zIndex); 

मैं एक तत्व जावास्क्रिप्ट का उपयोग करने का z- सूचकांक कैसे मिल सकती है?

+1

मैं वास्तव में –

उत्तर

18

चूंकि सीएसएस भाग में जेड इंडेक्स का उल्लेख किया गया है, इसलिए आप सीधे उस कोड के माध्यम से इसे प्राप्त नहीं कर पाएंगे जिसका आपने उल्लेख किया है। आप निम्नलिखित उदाहरण का उपयोग कर सकते हैं।

function getStyle(el,styleProp) 
{ 
    var x = document.getElementById(el); 

    if (window.getComputedStyle) 
    { 
     var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp); 
    } 
    else if (x.currentStyle) 
    { 
     var y = x.currentStyle[styleProp]; 
    }      

    return y; 
} 

फ़ंक्शन पर जाने के लिए अपने तत्व आईडी और शैली विशेषता को पास करें।

उदाहरण के लिए:

var zInd = getStyle ("normaldiv1" , "zIndex"); 
alert (zInd); 

Firefox के लिए आप zindex

var zInd = getStyle ("normaldiv1" , "z-index"); 
alert (zInd); 

Reference

+0

+1 मदद लेकिन "शैली" के लिए jQuery या प्रोटोटाइप की तरह एक पुस्तकालय का उपयोग कर की सिफारिश करेंगे (यदि माता-पिता रूट करने के लिए इसे 0 वापस आ जाएगी हो जाता है) भ्रामक है। यदि आप इनलाइन घोषित करते हैं तो आप इसे सीधे पढ़ सकते हैं, अगर आप सीएसएस घोषित नहीं कर सकते हैं। यह सीएसएस हिस्सा है जो मायने रखता है। – annakata

+0

धन्यवाद। मेरी पोस्ट संपादित की। – rahul

+0

मानक 'getComputedStyle' मानक से पहले गैर-मानक' currentStyle' का उपयोग न करें बेहतर। – kangax

5

के बजाय z- सूचकांक पारित करने के लिए इस

window.getZIndex = function (e) {  
    var z = window.document.defaultView.getComputedStyle(e).getPropertyValue('z-index'); 
    if (isNaN(z)) return window.getZIndex(e.parentNode); 
    return z; 
}; 
कोशिश है

उपयोग

var myZIndex = window.getZIndex($('#myelementid')[0]); 

+0

यह बहुत अच्छा काम करता है! '' 'विंडो।document.defaultView.getComputedStyle (e) .getPropertyValue ('z-index'); '' ' – pbojinov

+2

@ कर्नोवोड क्यों 'डिफ़ॉल्ट दृश्य' की आवश्यकता है? –

+0

यह नहीं है; 'window.document.defaultView'' विंडो' जैसा ही है; और आप इन सभी मामलों में 'विंडो' भी छोड़ सकते हैं। – 1j01

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