2014-04-18 69 views
0

我正在嘗試水平居中動態元素到dom父級的寬度不同。Jquery - 水平中心到父元素的元素

我擁有最多的東西,但我只是在計算錯誤。任何幫助將不勝感激。

注:我需要爲中心的項目的寬度爲20像素

腳本

$(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

「餘量的一半大小:0汽車; 「應該將其置於其父母側面。 – tmcc

+0

不幸的是,由於我必須追加元素,我不得不使用絕對定位。我很抱歉這不是直接在我所關注的因素之下。我需要改變措辭。 – ryan

+0

好的,是否在列表工作中添加了10個?你會得到父母的一半,但不要考慮內部項目 – 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