2012-03-16 12 views
13

मेरे पास बहुत पूर्ण स्थिति के साथ एक टेम्पलेट है, अब मेरे मुख्य टेक्स्ट div में गतिशील ऊंचाई है और मुझे इसके बाद एक गतिशील पाद लेख की आवश्यकता है।सीएसएस सेट div 'ऊंचाई' div 'height' से jquery के साथ

मैंने पाठ div से ऊंचाई मान के साथ पाद लेख div की शीर्ष स्थिति सेट करने का प्रयास किया।

Uncaught TypeError: Object [object Object] has no method 'top' (anonymous function)

तो किसी भी विचार या मेरी समस्या के लिए मदद:

<script type="text/javascript"> 
    $("#footer").top($("#text").height()); 
    </script> 

दुर्भाग्य से, क्रोम देव उपकरणों त्रुटि फेंकता है?

संपादित करें:

तो मैं

$('#footer').css('top', $('#text').outerHeight() + 'px'); 

की कोशिश की और यह अच्छी तरह से काम करता है, यह इस शीर्ष मूल्य के लिए कुछ पिक्सल जोड़ने के लिए संभव है?

उत्तर

17

साथ .top बदलें आप .top फोन नहीं, #footer div पर सीएसएस संपत्ति 'शीर्ष' पर सेट करना होगा() खुद div

$("#footer").css('top', $("#text").height() + "px"); 

या उन पंक्तियों के साथ

+0

मुझे लाता है> अनकही सिंटेक्स त्रुटि: अप्रत्याशित टोकन) –

+0

आपको शायद ऊंचाई की बैकएंड पर इकाई को पॉप करने की आवश्यकता है क्योंकि यह केवल मूल्य के संख्यात्मक प्रतिनिधित्व को लौटाता है। – dougajmcdonald

+0

यह मेरी "jQuery (दस्तावेज़) की समस्या थी। पहले से ही (फ़ंक्शन ($) {" मैंने इसे –

0

डीबगर सही है, jQuery एक विधि top सार तत्व नहीं है। आप बल्कि पर

$('#footer').css('top', $('#text').height()); 
+0

इस असफल नहीं होगा अगर 'top' सीएसएस संपत्ति नहीं है स्पष्टीकरण सेट? – Blazemonger

+1

@ mblase75: jQuery (वास्तव में ब्राउज़र), केवल उस सीएसएस संपत्ति को बनाएगा यदि यह पहले से भर नहीं गया है। अधिक सही ढंग से, सभी सीएसएस गुण किसी भी समय उपलब्ध हैं, यह केवल इस बात पर निर्भर करता है कि उनके पास कोई मूल्य है या नहीं। – jAndy

+0

मैंने सवाल को गलत तरीके से पढ़ा - हालांकि, यह संभवतः (संभावना नहीं) जटिलता को इंगित करने के लायक हो सकता है जिसके परिणामस्वरूप दोनों 'शीर्ष' और 'नीचे' सीएसएस गुण एक ही समय पर सेट किए जाएंगे। यदि ओपी किसी और के कोड में हेरफेर कर रहा है, तो 'नीचे' संपत्ति को सुरक्षित होने के लिए स्पष्ट रूप से साफ़ किया जाना चाहिए। – Blazemonger

4

तरह .css() का प्रयोग करेंगे .offset({top: somenumber})

http://api.jquery.com/offset/

+0

यह मेरे लिए काम किया। मुझे यकीन नहीं है कि .css संस्करण विफल हुआ क्योंकि मेरे पास तत्व पर मौजूदा सीएसएस था लेकिन, भले ही, यह इसे ठीक करने लगता है। –

1

इस प्रयास करें:

$('#footer').style.css("top",$('#text').style.css("height")); 
+0

तय किया है मेरे लिए काम नहीं किया – williamcarswell

1

मेरा सुझाव है:

<script type="text/javascript"> 
    jQuery(document).ready(function($){ 
     $('#footer').css('top', $('#text').outerHeight() + 'px'); 
    }); 
</script> 
संबंधित मुद्दे