स्थिति को स्थापित करने पर अपनी याददाश्त को ताज़ा करते हुए, मैं इतनी देर से आ रहा हूं कि मुझे नहीं पता कि कोई और इसे देखेगा, लेकिन -
मुझे स्थिति का उपयोग करना पसंद नहीं है css()
, हालांकि अक्सर यह ठीक है। मुझे लगता है कि सबसे अच्छी शर्त है कि jQuery UI के position()
सेटर का उपयोग xdazz द्वारा किया गया है। हालाँकि अगर jQuery UI किसी कारण से है, तो कोई विकल्प नहीं है (अभी तक jQuery है), मुझे यह पसंद है:
const leftOffset = 200;
const topOffset = 200;
let $div = $("#mydiv");
let baseOffset = $div.offsetParent().offset();
$div.offset({
left: baseOffset.left + leftOffset,
top: baseOffset.top + topOffset
});
यह मनमाने ढंग से $div
माता-पिता को सापेक्ष स्थिति में स्थापित करने का लाभ नहीं है (क्या होगा यदि $div
माता-पिता स्वयं, किसी और चीज़ के अंदर पूर्ण नहीं है?)। मुझे लगता है कि एकमात्र प्रमुख किनारे का मामला है अगर $div
कोई नहीं है offsetParent
, तो यकीन नहीं है कि यह वापस आ जाएगा document
,null
या पूरी तरह से कुछ और।
offsetParent
2008 में jQuery 1.2.6 के बाद से उपलब्ध है, इसलिए यह तकनीक अब काम करती है और जब मूल प्रश्न पूछा गया था।
$("#mydiv").css({top: '200px', left: '200px', position:'absolute'});
<- अच्छा$("#mydiv").css({top: '200', left: '200', position:'absolute'});
<- बुरा। जाहिरा तौर पर, यदि स्थिति मान तार हैं , तो आपको इकाइयों को शामिल करना होगा, या इसका कोई प्रभाव नहीं होगा।