我已经写了一个小函数来在浏览器窗口左侧和(居中)导航菜单之间中间放置一个徽标。菜单项从数据库填充,第一项给出id item0。JQuery功能不能按预期工作
function positionLogo(){
var $menuleft=0;
var $element=document.getElementById('item0');
if ($element.offsetParent) {
do {
$menuleft+=$element.offsetLeft;
} while ($element=$element.offsetParent);
}
var $logoleft=($menuleft/2)-130; // As logo is 260px wide
if ($logoleft<0) {
$logoleft=0;
}
$('#logo').css('left',$logoleft);
}
$(document).ready(function(){
positionLogo();
});
$(window).resize(function(){
positionLogo();
});
当窗口大小这工作得很好,但是当它第一次运行时加载页面时,它设置的位置大约是20像素太远权(即$ logoleft是20比它应该是)。只要页面调整大小,它就会跳转到正确的位置。
目前还没有住在任何地方,但有没有人有任何想法?谢谢!
只似乎是基于WebKit浏览器的问题,它仍然由1px的甚至与尼克的修复这样做,但这是够用了我!多谢你们。 – Mike 2010-03-27 03:50:41
我发现[XRAY](http://www.westciv.com/xray/)适用于调试这样的事情。 – ScottCam 2010-03-27 03:30:48