首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >滚动时将菜单栏固定在顶部

滚动时将菜单栏固定在顶部
EN

Stack Overflow用户
提问于 2012-11-08 01:06:06
回答 12查看 260.3K关注 0票数 73

我见过一些网站,当用户向下滚动页面时,会在右侧或左侧弹出一个框……

另外,注意到这个模板:http://www.mvpthemes.com/maxmag/设计者做了一个很好的工作,将导航栏固定在顶部。

现在,这些是如何实现的呢?我猜它使用jquery来获取页面的位置并显示框。

你能告诉我哪里可以找到这样的片段吗?这样我就可以学着做这样的事情了。

EN

回答 12

Stack Overflow用户

发布于 2012-11-08 01:31:36

这种效果通常是通过如下的一些jquery逻辑来实现的:

代码语言:javascript
复制
$(window).bind('scroll', function () {
    if ($(window).scrollTop() > 50) {
        $('.menu').addClass('fixed');
    } else {
        $('.menu').removeClass('fixed');
    }
});

这意味着一旦窗口滚动超过一定数量的垂直像素,它就会向菜单添加一个类,将其位置值更改为"fixed“。

有关完整的实施细节,请参阅:http://jsfiddle.net/adamb/F4BmP/

票数 160
EN

Stack Overflow用户

发布于 2013-03-04 10:54:42

在本例中,您可以将菜单居中显示。

HTML

代码语言:javascript
复制
<div id="main-menu-container">
    <div id="main-menu">
        //your menu
    </div>
</div>

CSS

代码语言:javascript
复制
.f-nav{  /* To fix main menu container */
    z-index: 9999;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
}
#main-menu-container {
    text-align: center; /* Assuming your main layout is centered */
}
#main-menu {
    display: inline-block;
    width: 1024px; /* Your menu's width */
}

JS

代码语言:javascript
复制
$("document").ready(function($){
    var nav = $('#main-menu-container');

    $(window).scroll(function () {
        if ($(this).scrollTop() > 125) {
            nav.addClass("f-nav");
        } else {
            nav.removeClass("f-nav");
        }
    });
});
票数 21
EN

Stack Overflow用户

发布于 2012-11-08 01:31:09

您还可以使用css规则:

position: fixed ;top: 0px ;

在你的菜单标签上。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13274592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档