我已經寫了一個小函數來在瀏覽器窗口左側和(居中)導航菜單之間中間放置一個徽標。菜單項從數據庫填充,第一項給出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