#javascript #jquery #html #css
#javascript #jquery #HTML #css
Вопрос:
У меня есть этот фрагмент HTML, содержащий меню навигации:
<div class="inner-wraper clearfix">
<ul class="root">
<li ng-repeat="menu in menus" class="l_one selected">
<a href="#" title="{{menu.Title}}">{{menu.Title}}<span class="arr"></span></a>
<ul ng-show="getHasSubMenus(menu)" class="level sl">
<li ng-repeat="subMenu in menu.SubMenus" class="l_two">
<a ui-sref="site.shopbycategory({ departmentID: subMenu.DepartmentID , categoryID: subMenu.CategoryID, searchTerm: '' })" title="{{subMenu.Title}}">{{subMenu.Title}}</a>
</li>
</ul>
</li>
</ul>
</div>
Я хочу выровнять подменю по правильному положению элемента, содержащего ‘li’, я пытался:
var theright = $(this).position().right;
и
var theright = $(this).offset().right - $(this).parent().offset().right;
и
var theright = $(this).css('right');
используя следующий код jquery, но я всегда получаю Undefined и NAN вместо числового значения.
$('.inner-wraper > ul').on('mouseenter', '> li', function (event) {
var theright = $(this).position().right;
//var theright = $(this).offset().right - $(this).parent().offset().right;
//var theright = $(this).css('right');
alert(theright);
$(this).children('ul').css('right', theright);
});
Как мне получить правильное положение элемента li?
Комментарии:
1. Position возвращает только значения left и top.. смотрите здесь. api.jquery.com/position
2. Я использовал left: var theright = $ (this).offset. осталось 130; и это работает
3. рад слышать. предполагая, что вы решили свою проблему