jQuery mmenu 使页面自动跳转到顶部

Posted

技术标签:

【中文标题】jQuery mmenu 使页面自动跳转到顶部【英文标题】:jQuery mmenu makes page automatically jump to top 【发布时间】:2014-05-03 05:44:45 【问题描述】:

对于一个大学项目,我正在尝试为响应式网站实施移动菜单。为此,我使用了 jQuery 插件 mmenu。

一切似乎都很好,除了一件事: 每当我打开菜单时,它都会滚动到页面顶部,而不是停留在原来的位置。我还意识到在菜单打开时我无法滚动页面(与此处的示例相反:http://mmenu.frebsite.nl/mmenu/demo/onepage.html

我的代码结构如下:

<body>
    <!-- Mobile Navigation -->
    <nav id="mobilenav">
        <div>
            <ul>
                ... 
            </ul>
        </div>
    </nav>
    <div id="wrapper">
        <header class="mm-fixed-top hidden-desktop">
            ...
            <a href="#mobilenav" class="pull-left"><i class="fa fa-bars"></i></a>
            ...
        </header>
        <div id="topbar">
            ...
        </div>
        <div id="content">
            ...
        </div>
    </div>
    <div id="tothetop" class="hidden-desktop">
        ...
    </div>
    <div id="bottom" class="visible-desktop">
        ...
    </div>
    <!-- Scripts -->
        ...
</body>

您可以在http://www.mikehudson.de/BA/ 上查看正在解决的问题。

提前感谢您的回答。

-- 迈克

【问题讨论】:

检查 CSS 中的 html 和 body。如果两者的身高都为 100%,则会进行这些跳跃 【参考方案1】:

您是否将此插件与 Foundation 5 一起使用。如果是,那么您可以在 global.scss 文件中将 html、body 高度从 100% 更改为 auto。

例如...

来自:

// Must be 100% for off canvas to work


    html, body  height: 100%; 

到:

// Must be 100% for off canvas to work


     html, body  height: auto; 

【讨论】:

【参考方案2】:

如果您确实将 100% 应用于 body/html,如果您的触发器碰巧在 href 中有一个“#”,请确保在 click 事件上使用 preventDefault()。这让我大吃一惊。

【讨论】:

我改为自动,但我没有为此使用锚点(使用跨度),它仍然会跳...

以上是关于jQuery mmenu 使页面自动跳转到顶部的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Mobile - 窗口加载后跳转到顶部

vue路由跳转不会自动跳转到顶部的问题

iOS开发之UIWebView自动滑动到顶部-备

jQuery UI sortable() - listitem 在 Safari 和 Chrome 中跳转到顶部

jQuery Mobile 在页面转换之前防止滚动到顶部?

每天一点点之vue框架开发 - vue中使用vue-router切换页面时自动滚动到顶部的方法