使用Jquery.position的DIV position不';好像不行
我有一条错误消息,我想对冒犯的li元素进行定位。我正在获取元素的位置,并尝试在其顶部放置一个隐藏的div和半不透明。下面是我到目前为止的情况 脚本使用Jquery.position的DIV position不';好像不行,jquery,dom,Jquery,Dom,我有一条错误消息,我想对冒犯的li元素进行定位。我正在获取元素的位置,并尝试在其顶部放置一个隐藏的div和半不透明。下面是我到目前为止的情况 脚本 function error_msg(error,id) { var p = $(id); var position = p.position(); $(".overlay").css("left: " + position.left + ", top: " + position.top); $(".overlay").width(p.inne
function error_msg(error,id)
{
var p = $(id);
var position = p.position();
$(".overlay").css("left: " + position.left + ", top: " + position.top);
$(".overlay").width(p.innerWidth())
$(".overlay").height(p.innerHeight())
$(".overlay").fadeIn();
}
(id是li的元素id)这会计算正确的位置,但会被忽略
css
div.overlay {
font-size: 20px;
margin-bottom: -1px;
background-color: rgba(247, 40, 40, 0.6);
z-index: 10000;
border-bottom: 2px solid #000;
border-top: 1px solid #4a4b4d;
}
Html
<ul>
<div class="overlay" style="position: absolute; display: none;" id="error_li" onClick="hideMsg()">some error message</div>
<li id="item_1">stuff</li>
<li id="item_2">stuff</li>
<li id="item_3">stuff</li>
<li id="item_4">stuff</li>
<li id="item_5">stuff</li>
</ul>
一些错误消息
- 东西
- 东西
- 东西
- 东西
- 东西
每当触发时,它总是将div放在列表的顶部或位置0,0。有没有线索告诉我哪里出了问题
$(".overlay").css("left: " + position.left + ", top: " + position.top);
那条线无效css
不设置style
属性:它直接向元素添加样式
你有两种方法。第一种是使用多个css
调用(您可以将它们链接起来以提高性能和可读性):
或者,您可以将对象传递给css
:
$('.overlay').css({
left: position.left,
top: position.top
});
由于这些是位置
对象的唯一属性,您甚至可以将其传入:
$('.overlay').css(position);
那条线无效css
不设置style
属性:它直接向元素添加样式
你有两种方法。第一种是使用多个css
调用(您可以将它们链接起来以提高性能和可读性):
或者,您可以将对象传递给css
:
$('.overlay').css({
left: position.left,
top: position.top
});
由于这些是位置
对象的唯一属性,您甚至可以将其传入:
$('.overlay').css(position);
如果你使用Firebug,你可以做一个
console.log(position)
来计算,如果您读取的位置正确。如果您使用Firebug,您可以执行控制台.log(位置)
来计算,如果你读的位置正确。谢谢,不确定这个例子是怎么写的worked@user比较“
和:
以及,
的位置。在您的示例中,您将它们作为字符串的一部分。谢谢,不确定此示例是如何实现的worked@user比较的位置。”
和:
和,
。在您的示例中,您使它们成为字符串的一部分。