Ayar konumuyla hafızamı tazeliyorum, bu kadar geç geliyorum, başkasının görüp görmeyeceğini bilmiyorum, ama -
Konum ayarlamaktan hoşlanmıyorum css(), ancak çoğu zaman iyi. Ben en iyi bahis position()xdazz tarafından belirtildiği gibi jQuery UI ayarlayıcı kullanmak olduğunu düşünüyorum . Ancak, jQuery kullanıcı arabirimi, bir nedenden ötürü bir seçenek değilse (henüz jQuery ise), bunu tercih ederim:
const leftOffset = 200;
const topOffset = 200;
let $div = $("#mydiv");
let baseOffset = $div.offsetParent().offset();
$div.offset({
left: baseOffset.left + leftOffset,
top: baseOffset.top + topOffset
});
Bunun avantajı, $divebeveyninin keyfi olarak göreli konumlandırmaya ayarlanmamasıdır (eğer $divebeveyninin kendisi başka bir şeyin içine mutlak konumlandırılmışsa?) Ben keşke büyük kenarı durumda olduğunu düşünüyorum $divherhangi yoktur offsetParent, değil emin dönecekti eğer document, nullya tamamen başka bir şey.
offsetParent 2008'de bazen jQuery 1.2.6'dan beri mevcuttur, bu nedenle bu teknik şimdi ve orijinal soru sorulduğunda çalışır.
$("#mydiv").css({top: '200px', left: '200px', position:'absolute'});<- iyi$("#mydiv").css({top: '200', left: '200', position:'absolute'});<- kötü. Görünüşe göre, konum değerleri dizeyse , birimleri dahil etmelisiniz, aksi takdirde bir etkisi olmaz.