2014-04-18 1 views
0

다른 너비를 가진 부모 수준의 부모에게 동적 요소를 수평으로 맞추려고합니다.Jquery - Horizontally 부모 요소에 가운데 요소

나는 모든 것을 다 가지고 있지만 잘못 계산 한 것입니다. 어떤 도움이라도 대단히 감사하겠습니다.

참고 : 나는 중심의 필요 항목의 폭은

$(function() { 

$(".nav-menu").children("li").each(function() { 

    $(this).on("mouseenter", function(){ 
    listWidth = $(this).find("a").width() /2 ; //<-- calculating width of each li 
     $(this).find(".sub").prepend('<li id="nav-hover-state"></li>'); 
     $(this).find("#nav-hover-state").attr('style', 'margin-left:'+listWidth +'px'); 
    }); 

    $(this).on("mouseleave", function(){ 
     if($('.nav-container ul.nav-menu li .sub').attr('style','display:none')) { 
     $(this).find("#nav-hover-state").remove(); 

    } 
    }); 
}); 
+2

'여백의 절반 크기 빼기 스크립트 20 픽셀

입니다 : 0 자동; ' 그것의 부모 측에서 안쪽으로 중심에 두어야한다. – tmcc

+0

불행히도 요소를 추가해야하는 곳 때문에 절대 위치 지정을 사용해야합니다. 미안 해요 내가 중심에두고있는 요소 바로 아래 있지 않습니다. 나는 그 말씨를 바꿀 필요가있다. – ryan

+0

좋아요, 10을 listwidth에 추가합니까? 당신은 부모의 반쪽을 얻지 만 내부 아이템을 고려하지 마십시오 – tmcc

답변

0

은 당신의 내면의 요소

listWidth = ($(this).find("a").width() /2) - 10 ; //<-- calculating width of each li 
+0

listWidth = ($ (this) .find ("a"). width()/2) -10; 왼쪽부터 밀어 붙이기 때문에 실제로는 그것을 해줬습니다. 10을 내야했습니다. – ryan

+0

감사합니다. 빼기를 의미합니다. 일치하는 내 대답을 변경했습니다. – tmcc

관련 문제