将静态标头置于所有其他元素之上
Keeping Static Header Over All Other Elements
我的索引文件中有一个标题定义如下:
<header id="header">
<div id="menu-trigger" class="header-button left icon-menu" ></div>
<h1><a class='current' href="index.html#home">Title</a></h1>
</header>
我设法使它在滚动时始终处于静态顶部:
$(function() {
console.log('Stick bar at top. . . ');
// Stick the #nav to the top of the window
var nav = $('#header');
var navHomeY = nav.offset().top;
var isFixed = false;
var $w = $(window);
$w.scroll(function() {
var scrollTop = $w.scrollTop();
var shouldBeFixed = scrollTop > navHomeY;
if (shouldBeFixed && !isFixed) {
nav.css({
position: 'fixed',
top: 0,
left: nav.offset().left,
width: nav.width(),
//z-index: 1;
});
isFixed = true;
}
else if (!shouldBeFixed && isFixed)
{
nav.css({
position: 'static'
});
isFixed = false;
}
});
});
问题是,我加载到index.html文件中的任何视图都会出现在头上。我需要标题覆盖所有其他元素。
有办法做到这一点吗?还是应该在重新加载所有视图后重新加载标题?
谢谢,
Filipe
CSS Propert z-index:1000应该做到这一点。
您可以通过类以及javascript/JQuery来实现。
我会尝试使用一个单独的css文件,而不是使用jQuery应用css修饰符。
position:fixed
css修饰符和具有高z-index
值的show会自动执行您在滚动处理程序中正在执行的操作。
顺便说一句,您永远不应该将标头设置回static
,z-index
不适用于静态框。如果您在顶部需要一个空间,请在容器元素中使用padding-top
或margin-top
相关文章:
- 如何在不影响其他元素的情况下扩展DIV
- 单击其他元素时,我如何使用 jQuery 忽略更改事件
- 从其他元素上的单击事件访问image src属性
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 将一个元素放在具有相同z索引的其他元素前面
- 将href中的图像替换为其他元素中的图像
- JavaScript删除所有其他元素
- 如何在 *ngFor 列表中显示单击的元素,使用 Angular 2 隐藏其他元素
- 单击更改其他元素源
- JavaScript (w/jQuery) - 当被其他元素包围时,在悬停时增长一个元素以填充容器
- 如何使用可调整大小的元素重叠其他元素
- 如果所有其他元素都填写在AngularJS中,如何动态添加新的输入元素
- 更改包含其他元素的元素的文本
- 将静态标头置于所有其他元素之上
- jQuery或JavaScript获取靠近其他元素的元素
- 从中删除元素'的父元素,并将其附加到其他元素
- 获取更改跨度的值,使其显示为其他元素
- jQuery don'当元素被其他元素检索时,它不能正常工作
- 具有固定元素并填充有其他元素的页面
- Jquery索引与其他元素的关系