我有一個錯誤消息,我想定位在違規的li元素上。我得到元素的位置並試圖在其頂部放置隱藏的div和半透明度。下面是我迄今爲止..使用jquery.position的DIV位置似乎不起作用
腳本
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是李的元素的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>
當過這個觸發它總是把股利在列表或位置0,0的頂部。任何我要出錯的線索?
謝謝,不知道這是如何http://stackoverflow.com/questions/158070/jquery-how-to-position-one-element-relative-to-another/158176#158176示例工作 – maxum 2011-04-16 10:17:03
@user比較職位'''和':'和','在你的例子中,你將它們作爲字符串的一部分。 – lonesomeday 2011-04-16 10:28:44