Javascript 如何使用jQuery定位元素
jQuery提供了一种获取元素位置的方法:Javascript 如何使用jQuery定位元素,javascript,jquery,Javascript,Jquery,jQuery提供了一种获取元素位置的方法: var position = myElement.position(); 但是,此函数是只读的 有没有办法设置我的元素的位置?要设置位置,可以使用CSS方法: $(element).css('left', '22px'); $(element).css({ left: '22px', top: '10px' }); 这假设样式表中已经有位置:相对的或位置:绝对的。如果没有,您也可以添加它,就像添加左或顶、右或底一样。也适用于z-inde
var position = myElement.position();
但是,此函数是只读的
有没有办法设置我的元素的位置?要设置位置,可以使用CSS方法:
$(element).css('left', '22px');
$(element).css({
left: '22px',
top: '10px'
});
这假设样式表中已经有位置:相对的
或位置:绝对的
。如果没有,您也可以添加它,就像添加左
或顶
、右
或底
一样。也适用于z-index
是的,您只需将适当的css添加到项目:
// Example
myElement.css({ position: relative; top: -40, left: -40 });
如果除了jQuery之外还使用jQuery UI,则可以使用
位置
否。JQuery无法设置元素的偏移量。相反,它可以设置它的顶部和左侧属性。以及它的position CSS属性。通过设置元素的顶部和左侧样式属性,您只能定位绝对或相对定位的元素。使用
css
方法并设置元素的位置
、顶部
和左侧
属性
$("selector").css({
position: 'absolute',//Or relative
top: 100,
left: 100
});
解决此问题的通常方法是使用
.css()
方法,如:
$(".element").css({
position: absolute, //or relative
top: '50px',
left: '50px'
});
类似于.position()
的函数返回对象属性.top
和.left
,因此您也可以尝试下一个:
$(".element").position().top = 50;
$(".element").position().top = 50;
我自己还没有试过最后一种方法,所以我不确定它是否有效,但第一种方法确实有效。你可以使用CSS函数,但我认为实际上没有一种方法可以用x和y来定位元素。@Pelshoff-那.offset()呢,如我下面的回答所示?@Javid你似乎完全正确!很酷的东西,谢谢:)那里面需要一个
位置:relative
somewhere@Joseph我假设用户已经在CSS.gotcha中声明了这一点。不过,请记住,jQuery的get position方法将获取元素的位置,即使元素是静态定位的。因此,元件可能没有相对定位。
$("#element").offset({ top: XXX, left: YYY})
$(".element").css({
position: absolute, //or relative
top: '50px',
left: '50px'
});
$(".element").position().top = 50;
$(".element").position().top = 50;