2011-01-06 15 views
5

मैं jQuery के लिए एक नौसिखिया हूँ। क्या कोई इसका उत्तर दे सकता है?jQuery। ऑफसेट सेटिंग वाई मान

मुझे पता है कि मैं लेयर 1 को कोड 2 की निम्न पंक्ति के साथ लेयर 2 की स्थिति में सेट कर दूंगा।

$("#layer1").offset($("#layer2").offset()); 

मैं वाई-वैल्यू कैसे सेट कर सकता हूं? मैं इस बारे में निश्चित नहीं हूं।

धन्यवाद

उत्तर

0

बस का उपयोग/सीएसएस शीर्ष संपत्ति

$("#layer1").css("top",$("#layer2").css("top")); 
0
$("#layer1").css({ 
    'top': $("#layer2").offset().top 
}); 

संपादित .top/.left setters प्रतीत होता है की स्थापना की।
EDITv2 ऑफ़सेट सेट किया जा सकता है लेकिन .offset() विधि के माध्यम से किया जाना चाहिए।

7

jQuery प्रलेखन .offest() के लिए पढ़ता है:

.offset() एक वस्तु शार्ष और दाएं गुण युक्त देता है।

यह जानने के बाद निम्नलिखित मानकों को पूरा कर सकते हैं:

var offset = $("#layer2").offset(); 
$("#layer1").css({ 
    'top' : offset.top, 
    'left': offset.left 
}); 

या, आप उन्हें व्यक्तिगत रूप से सेट कर सकते हैं, अपनी आवश्यकता के अनुसार।

$("#layer1").css('top', offset.top); // or... 
$("#layer1").css('left', offset.left); 

अंत में, क्योंकि आपको केवल एक ही मूल्य (शीर्ष) की आवश्यकता है, ऑफ़सेट ओवरकिल है; यह आपकी जरूरत से अधिक महंगा है। इसके बजाय निम्न, अनुकूलित स्निपेट का उपयोग करें।

var top = $('#layer2').css('top'); 
$('#layer1').css('top', top); 
0

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

$("p:last").offset({ top: 10, left: 30 }); 

के अनुसार इस्तेमाल किया जा सकता। इस तरह आप जो भी नहीं चाहते हैं उसे हटाने में सक्षम होना चाहिए।

0

offset.top और offset.left उपयोग - उन एक्स() अपने आप में कर रहे हैं और y .. ऑफसेट है रिटर्न दोनों x और y (या शीर्ष और बाएं)

+0

जानकारी के लिए धन्यवाद! – Denise

+0

भ्रम के लिए, यह स्पष्ट किया जाना चाहिए कि ** शीर्ष ** ** ** ** ** ** ** ** ** ** ** ** ** है। आप क्रमशः उनका उल्लेख नहीं करते हैं, सिर्फ स्पष्टता जोड़ना चाहते थे। –

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