我正在使用jQueryUI Position Utilities,但我不知道它为什么不在$(document).ready()上运行, 如果我使用firebug并执行position();再次手动,它工作正常。
更新:我尝试的代码只能在IE8上运行,它适用于firefox和chrome。
代码: http://jsbin.com/owoya3/edit
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
<style type="text/css">
#Parent
{
width: 300px;
background-color: #999;
border: 1px solid #aaa;
}
#Parent tr td
{
width: 60px;
height: 60px;
text-align: center;
border: 1px solid #aaa;
}
div.positionable
{
width: 60px;
height: 60px;
position: absolute;
display: block;
right: 0;
bottom: 0;
background-color: #bcd5e6;
text-align: center;
}
</style>
<script type="text/javascript">
function position() {
$("#BoxA").position({
of: $("#CellA"),
my: 'left top',
at: 'left top',
offset: '0 0'
});
}
$(document).ready(function () {
$(".positionable").css("opacity", 0.5);
position();
});
</script>
<title></title>
</head>
<body>
<table id="Parent">
<tr>
<td id="CellA">A</td>
<td id="CellB">B</td>
</tr>
</table>
<div id="BoxA" class="positionable">
<p>A(2)</p>
</div>
<div id="BoxB" class="positionable">
<p>B(2)</p>
</div>
</body>
</html>
答案 0 :(得分:1)
问题是固定的,也许是IE或jquery的bug,但是很快,我是以脏的方式做的, 我两次调用position()可以修复。
$(document).ready(function () {
position();
position(); //YES, 2 times.
});
答案 1 :(得分:1)
而不是使用$(document).ready使用$(window).load 它们之间的微小差别实际上是不同的。您可以搜索depper信息,但您将解决您的问题。