jquery - HTML 顶部栏已修复并在滚动时重新调用

标签 jquery html css scroll

我想让我的顶栏不仅在滚动时固定,而且还降低了它的高度。 所以当我向下滚动时,我知道如何修复它,但我想知道如何通过重新调整其高度来提高网站的可见性。

示例:http://www.kriesi.at/themedemo/?theme=enfold-overview

我试图搜索解决方案,但它只是关于固定的顶部栏,而不是关于它的大小。

最佳答案

您可以收听滚动事件 - 这不是关于性能的最佳解决方案,但目前是一种快速且易于使用的解决方案。

$(window).scroll(function() {
if ($(window).scrollTop() > ($(window).height()-80)) {
    $('.navigation').addClass('nav--closed')// > 100px from top - show div
}
else {
    $('.navigation').removeClass('nav--closed')// > 100px from top - show div
    // <= 100px from top - hide div
}
});

为此的 css 将是:

.navigation {
    position: fixed;
    top: 0;
    left: 0;
    height: 8em;
    width: 100%;
    z-index: 5;
    background-color: black;
    transform: translate3D(0,0,0);
    transition:height 0.4s ease-in-out;
    color: white;
}

.navigation.nav--closed{
            background-color: $colorWhite;
            height: 2em;
}

看看这个FIDDLE它应该是不言自明的。

除了 scroll 之外,您还可以尝试使用 requestAnimationFrame 来更快、更高效! RAF

关于jquery - HTML 顶部栏已修复并在滚动时重新调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29947351/

相关文章:

jquery - 基于java网络的聊天应用程序

jquery - 使用 jQuery 进行 webkitTransform

html - 在 VBA 代码中创建的电子邮件的全局 HTML 正文

javascript - 未捕获的 TypeError : $(. ..).ready(...) 不是一个函数,即使它在 JsFiddle 上工作

css - 使跨度不包裹在固定宽度的其他div中

javascript - Laravel 加载本地 css 和 js 资源非常慢

html - 双击复选框会在复选框右侧创建蓝色光标

javascript - 使用 jquery 或 js 更改包含 html 的变量中禁用的属性

html - 如何在 AngularJS ng-repeat 中继器中创建独特的 `id` 属性

php - 为导航设置事件类