我想在用户通过第一个“块”(<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没有“看到”变化。我该怎么办?
答案 0 :(得分:1)
var s = skrollr.init({
constants: {
menuresize: function() {
return $("header").height();
},
vh: '100p'
}
});
和导航我添加了data-_menuresize="position: fixed;"
(它解释了menuresize
在上面的代码中表示。)
享受:D
!