【问题标题】:Refresh Skrollr after resizing调整大小后刷新 Skrollr
【发布时间】: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


    【解决方案1】:

    嗯,这很容易。 1 行而不是 20 行。

    var s = skrollr.init({
        constants: {
            menuresize: function() {
                return $("header").height();
            },
            vh: '100p'
        }
    });
    

    在导航中我添加了data-_menuresize="position: fixed;"(它解释了menuresize 表示在上面的代码中)。

    享受:D

    【讨论】:

      猜你喜欢
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 2012-10-29
      • 2015-02-01
      • 2019-04-01
      • 1970-01-01
      相关资源
      最近更新 更多