브라우저 창의 왼쪽과 (가운데에있는) 탐색 메뉴 사이에 중간에 로고를 배치하는 약간의 함수를 작성했습니다. 메뉴 항목은 데이터베이스에서 채워지며 첫 번째 항목에는 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 그것이 있어야보다). 페이지 크기를 조정하면 바로 올바른 위치로 이동합니다.
아무 때 나 살고 싶지는 않지만 누구에게 아이디어가 있습니까? 감사!
만 웹킷 기반 브라우저에서 문제 것, 그리고 그것은 여전히에도 닉의 수정과 1 x 1 픽셀에 의해 그것을 않습니다,하지만 나를 위해 충분히 좋은! 고마워. – Mike
[XRAY] (http://www.westciv.com/xray/)는 이와 같은 디버깅에 유용합니다. – ScottCam