【发布时间】:2014-02-23 16:29:07
【问题描述】:
我希望<nav> 在用户通过第一个“块” (height: 100%;) 后得到修复。我决定使用 Skrollr,因为它是我所知道的立即进行“更改”的唯一方法,并且在移动设备和 IE 中没有错误。所以我这样做了:
$("nav").attr("data-" + $("header").height(), "position: fixed;");
这很好用(<nav> 就在<header> 之后),直到您调整页面大小。所以我这样做了:
$(window).resize(function () {
var style = $("nav").attr("style");
$('nav').each(function() {
var attributes = this.attributes;
var i = attributes.length;
while( i-- ){
this.removeAttributeNode(attributes[i]);
}
})
$("nav").attr("data-" + $("header").height(), "position: fixed;");
$("nav").attr({"data-0": "position: absolute;", "style": style});
});
它采用新的高度,并将其添加为 attr 并删除所有其他 attr(因为如果没有它会增加很多:data-500、data-501、data-502、data-503...)并通过查看代码 - 它工作得很好。问题是 Skrollr 没有“看到”变化。我该怎么办?
【问题讨论】:
标签: javascript jquery css skrollr