Currently I'm trying to achieve this
With this: http://jsfiddle.net/EJXNV/3/
HTML:
<div>
<ul>
<li><a href="">Menu</a>
<ul>
<li><a href="">Menu item 1</a></li>
<li><a href="">Menu item 2</a></li>
<li><a href="">Menu item 3</a></li>
</ul>
</li>
<li><a href="">Menu</a>
<ul>
<li><a href="">Menu item 1</a></li>
<li><a href="">Menu item 2</a></li>
<li><a href="">Menu item 3</a></li>
</ul>
</li>
<li><a href="">Menu</a>
<ul>
<li><a href="">Menu item 1</a></li>
<li><a href="">Menu item 2</a></li>
<li><a href="">Menu item 3</a></li>
</ul>
</li>
<li><a href="">Menu</a>
<ul>
<li><a href="">Menu item 1</a></li>
<li><a href="">Menu item 2</a></li>
<li><a href="">Menu item 3</a></li>
</ul>
</li>
<li><a href="">Menu</a>
<ul>
<li><a href="">Menu item 1</a></li>
<li><a href="">Menu item 2</a></li>
<li><a href="">Menu item 3</a></li>
</ul>
</li>
<li><a href="">Menu</a>
<ul>
<li><a href="">Menu item 1</a></li>
<li><a href="">Menu item 2</a></li>
<li><a href="">Menu item 3</a></li>
</ul>
</li>
JS:
var coef = 7.5;
$("div > ul > li").each(function () {
$(this).children("ul").css("left",
($(this).position().left
/ coef)
* (-1));
});
But I can't figure out from where I should took that coefficient = 7.5 (I've got it empirically).
Please, help me to find out what formula I should use to get this coefficient.
I was able to figure out it by myself:
$("div > ul > li").each(function () {
var coef = $("div > ul > li").last().position().left / ($(this).children("ul").width() - $(this).width());
$(this).children("ul").css("left", ($(this).position().left / coef) * (-1));
});
Works with any width of any element (except the container, it must be fixed width and relative).