JQuery Lava Lamp Drop Down закрывается слайд-шоу и неправильно меняет положение при изменении размера браузера

Так что после решения куча других проблем с этой навигацией. У меня есть две последние маленькие проблемы.

Первое, что более важно исправить, состоит в том, что когда выпадающий список падает, он обрезается содержащим элементом div, который является частью сетки. Вместо этого он должен "плавать" за пределами этой сетки и над слайд-шоу ниже. Не уверен, как это сделать. Смотрите проблему http://lookseewatch.com/independentinsurance/

Я специально сделал высоту 50px, чтобы показать проблему: если высоты нет или высота установлена ​​на авто, выпадающий список даже не отображается.

Вот фрагмент кода

<div class="row">
        <div class="grid_4">
            <img src="<?php bloginfo('template_directory'); ?>/images/logo.png">
        </div>
        <div class="grid_8">
            <?php wp_nav_menu( array('items_wrap' => '<ul class="%2$s">%3$s<div id="box"><div class="head"></div></div></ul>', 'container_class' => 'menu', 'menu_class' => 'nav', 'menu' => 'Header', 'walker' => new UL_Class_Walker )); ?>
        </div>
    </div>

Вторая проблема связана с синей полосой, которая следует за вами. Это отправная точка является позиция абсолютно

var dLeft = $('.current-menu-item a').offset().left+15;//setting default position of menu
var dWidth = $('.current-menu-item a').width();
var dTop = $('.current-menu-item a').offset().top;

поэтому, когда веб-страница загружается, и она прекрасно работает, но когда вы изменяете размер окна, "волшебная линия" остается на том же месте, а не перемещается с помощью навигации. Когда вы наводите курсор мыши на другие ссылки, они переходят в правильное местоположение, но когда они возвращаются к исходному месту, они полностью отключаются в зависимости от того, насколько сильно изменился размер браузера. Вы можете увидеть проблему по ссылке выше и потянув за угол своего браузера.

Дайте мне знать, если мне нужно опубликовать какой-либо CSS для любого.

Спасибо!

1 ответ

Поскольку вы используете jQuery, вы можете прослушать window.resize. Вы могли бы инициализировать dTop так как это не должно измениться, затем установите другие переменные при изменении размера браузера:

var dLeft;
var dWidth;
var dTop = $('.current-menu-item a').offset().top;

$(function(){
    //listen to window.resize
    $(window).on("resize", function () {
        //update variables     
        dLeft = $('.current-menu-item a').offset().left+15;
        dWidth = $('.current-menu-item a').width();
    }).trigger("resize"); //sets variables when page loads
});

Что касается скрытых выпадающих, вам просто нужно удалить overflow:hidden на .grid-8 класс CSS

Другие вопросы по тегам