Я работаю над мега-меню, которое показывает выпадающее меню левой или правой стороны до сих пор, я не могу правильно вычислить offset.left, и он ведет разные разрешения.
Поэтому я подумал о том, чтобы показать первое и второе выпадающее меню на правой стороне и отдохнуть слева, но я не уверен, как заставить элемент nth-child работать с инструкцией if.
Пример простой скрипты http://jsfiddle.net/42MfQ/1/
Пример моего мега-меню, который представляет собой близкое шоу, выглядит как этот Actual Fiddle Пример мега-меню http://jsfiddle.net/5eecT/13/
Я был бы признателен за помощь в правильном отображении этого меню.
Сейчас этот код работает неправильно
if (($(this).offset().left) + 200 > $('.menu-wrapper').width()) {
$(this).find(".dropdown").addClass("dropdown-last");
}
По этой причине я, хотя и показываю сначала, второе выпадающее меню на правой стороне и остальную часть левой стороны, что позволит избежать автоматического обнаружения, как рассчитывается выше кодом.
Я не уверен, как написать этот код
if($( "li:nth-child(1)" ) == true || "li:nth-child(2)" == true ))
{
alert('show dd menu on right side of parent menu');
}
else {alert ('show dd menu в левой части родительского меню');
} }
Я просто решил использовать следующий jquery, чтобы заставить его работать с любым неожиданным результатом.
Это просто добавляет dropdown-last
класс, который выравнивает подменю в левой части текста. Ниже приведен пример и можно использовать его, чтобы он работал так, как нужно
$("#menu").on("mouseenter", ":nth-child(4)", function () { $(this).find(".dropdown").addClass("dropdown-last"); });
$("#menu").on("mouseenter", ":nth-child(5)", function () { $(this).find(".dropdown").addClass("dropdown-last"); });
$("#menu").on("mouseenter", ":nth-child(6)", function () { $(this).find(".dropdown").addClass("dropdown-last"); });
Поскольку следующий jQuery давал мне неожиданные результаты на разных разрешениях экрана.
if (($(this).offset().left) + 200 > $('.menu-wrapper').width()) {
$(this).find(".dropdown").addClass("dropdown-last");
}
:nth-child(-n+2)
», но я не знаю, делает ли это то, что вы хотите.