jPanelMenu и прокрутка не работают вместе

ОБНОВЛЕНИЕ - Решение

Я наконец нашел решение... и это супер просто!

просто добавьте следующее к вашему CSS:

body { overflow-x: visible; }

Похоже, конфликт возникает, если для overflow-x jPanelMenu скрыто в теле.

Я запускаю jPanelMenu и jRespond вместе (jPanelMenu активен только на меньших экранах благодаря jRespond, на больших экранах меню исправлено и не использует jPanelMenu).

Все работает нормально, но когда я пытаюсь использовать любой вид js для применения css к прокрутке страницы, он не работает, пока активен jPanelMenu.

Я хочу добавить плавающую кнопку меню, чтобы открыть jPanelMenu, как только пользователь прокрутит заголовок, который должен быть активен только тогда, когда активен jPanelMenu.

Вот один из фрагментов прокрутки, которые я использовал:

jQuery(window).scroll(function() {
    var scroll = $(window).scrollTop();
    if (scroll >= 200) {
        $("#scroll-trigger").addClass("show");
    } else {
        $("#scroll-trigger").removeClass("show");
    }
});

Это работает само по себе, как и ряд других способов написания этого метода прокрутки. Но когда jPanelMenu включен, этот код прокрутки становится бесполезным.

Вот еще один, который я нашел на codrops, он также работает сам по себе, но конфликтует с jPanelMenu:

var cbpAnimatedHeader = (function() {

    var docElem = document.documentElement,
        header = document.querySelector( 'header' ),
        didScroll = false,
        changeHeaderOn = 300;

    function init() {
        window.addEventListener( 'scroll', function( event ) {
            if( !didScroll ) {
                didScroll = true;
                setTimeout( scrollPage, 250 );
            }
        }, false );
    }

    function scrollPage() {
        var sy = scrollY();
        if ( sy >= changeHeaderOn ) {
            classie.add( header, 'bodhi-header-shrink' );
        }
        else {
            classie.remove( header, 'bodhi-header-shrink' );
        }
        didScroll = false;
    }

    function scrollY() {
        return window.pageYOffset || docElem.scrollTop;
    }

    init();

})();

Я не смог ничего найти в коде лично и искал в Интернете похожие и пробовал оооочень много разных способов реализации, это не смешно. Любая помощь будет принята с благодарностью. Заранее спасибо!

2 ответа

Я наконец нашел решение... и это супер просто!

просто добавьте следующее к вашему CSS:

body { overflow-x: visible; }

Похоже, конфликт возникает, если для overflow-x jPanelMenu скрыто в теле.

jpanelmenu - страшный плагин, используйте sidr ( http://www.berriart.com/sidr/)

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