0

我在页面加载时设置 JavaScript 函数调用:

$('.myMenu').affix({
        offset: {
            top: value
        }
    });

在一些用户交互之后value发生了变化,同时我再次调用上面的代码,期望affix()它将使用新值进行处理offset,但事实并非如此,它仍在处理value页面加载时的初始内容。

$(window).resize(function() {
        $('.myMenu').affix({
            offset: {
                top: value
            }
        });
    });

$(document).ready(function() {
        $('.myMenu').affix({
            offset: {
                top: value
            }
        });
    });

为什么会这样?可能有人可以解释吗?窗口调整大小触发窗口调整大小我确保通过使用alert功能

affix()在 twitter 引导程序中使用它,而且我对http://github.com/davist11/jQuery-One-Page-Nav插件3.0也有同样的问题

$('.mainNav').onePageNav({
        currentClass: 'active',
        scrollOffset: offsetValue
    });

onePageNav()offsetValue如果我onePageNav()像上面那样在屏幕上调整大小,则不应用新的affix()

4

1 回答 1

1

大多数插件提供了单独的方法来初始附加到元素(带有初始设置)和随后对这些设置的更改。

后者的精确方法取决于插件作者如何编写代码,以及是否会注意到对设置的更改。如果(s)他遵循 jQuery UI 约定,它将是:

$('.myMenu').affix('options', { top: value });

要获得更好的答案,请提供您正在使用的特定“附加”插件的链接,或查看其文档。

于 2013-12-24T22:57:53.970 回答