jquery - 动态标题栏/导航栏

标签 jquery html css

嘿,我正在尝试创建动态标题/导航栏,例如此处显示的标题栏:http://www.feed-the-beast.com/

我目前有这个去:

J查询:

$(document).ready(function() {
var lock = $('#header').position().top;
$(window).scroll(function() {
    if(lock >= $(window).scrollTop()) {
        if($('#header').hasClass('fixed')) {
            $('#header').removeClass('fixed');
        }
    } else { 
        if(!$('#header').hasClass('fixed')) {
            $('#header').addClass('fixed');
        }
    }
}); 
});

HTML:

<div id="header" class=""></div>

CSS:

#header {
width: 100%;
height: 80px;
background-color: #000;
left:0;
right: 0;
margin-top: 340px;
position: absolute;}

body {
height: 7000px;
width: 100%;
float: right;}
.fixed {
position: fixed;}

我们将不胜感激。

最佳答案

所以你想要一个带有滚动 anchor 的粘性菜单?

这是它的脚本:

$(function() {
    var move = function() {
       var st = $(window).scrollTop();
        var ot = $("#scroller-anchor").offset().top;
        var s = $("#scroller");
       if(st > ot) {
            s.css({
                position: "fixed",

            });
        } else {
            if(st <= ot) {
                s.css({
                    position: "relative",

                });
            }
        }
    };
    $(window).scroll(move);
    move();
});

并且您需要将其添加到您的 HTML 中:

<div id="scroller-anchor></div>
   <div id="scroller">
     YOUR MENU HTML HERE
   </div>

更新

工作jsFiddle这里 :D

PS:此外,如果您不希望背景颜色在粘在顶部时发生变化,您只需将 "background-color": "red" 更改为您想要的背景颜色即可。

关于jquery - 动态标题栏/导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23651299/

相关文章:

php - 通过 jquery 提交表单时 PHP 中的 isset 验证失败

javascript - KnockoutJS 复选框列表不绑定(bind)所选值

html - Firefox 和 Safari 浏览器的字体不工作问题

css - 不一致的 div 溢出 css

jquery - 在页面加载时增长和收缩元素

javascript - 使用 tablesorter 过滤所选选项列表中的选定项目

javascript - 将点击事件绑定(bind)到类中的方法

html - R : CSS defined in header is not working inside leafletProxy 的传单

Javascript Marquee 替换 <marquee> 标签

javascript - 为什么在 Cordova/Phonegap Webkit 浏览器中使用 CSS3 过渡会导致内存泄漏?