2

更新 - 解决方案

我终于找到了解决方案……而且超级简单!

只需将以下内容添加到您的 CSS 中:

body { overflow-x: visible; }

当jPanelMenu 将overflow-x 设置为在body 上隐藏时,似乎会出现冲突。

我正在同时运行 jPanelMenu 和 jRespond (由于 jRespond,jPanelMenu 仅在较小的屏幕上有效,在较大的屏幕上,菜单是固定的并且不使用 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();

})();

我个人在代码中找不到任何东西,并且在网上搜索了类似的东西并尝试了很多不同的实现方式,这并不好笑。任何帮助将不胜感激。提前致谢!

4

2 回答 2

1

我终于找到了解决方案……而且超级简单!

只需将以下内容添加到您的 CSS 中:

body { overflow-x: visible; }

当jPanelMenu 将overflow-x 设置为在body 上隐藏时,似乎会出现冲突。

于 2014-02-12T09:01:56.577 回答
0

jpanelmenu 是一个可怕的插件,使用 sidr ( http://www.berriart.com/sidr/ )

于 2014-03-20T07:23:51.097 回答