如何让skrollr.js使用turbolinks

Ter*_*cis 1 javascript jquery ruby-on-rails turbolinks skrollr

当你回到带有turbolinks的页面时,Skrollr.js似乎停止了工作.如果您再次手动刷新页面或通过data-no-turbolink链接转到页面,它可以正常工作.

我试过用所有可能的方式调用函数,但仍然没有运气,主要是:

$(document).on('ready page:load', function () {
var s = skrollr.init(); 
});

$(document).on('ready page:change', function () {
    var s = skrollr.init(); 
    });
Run Code Online (Sandbox Code Playgroud)

这里有一个类似的问题但是接受的答案是你应该禁用turbolinks.我想知道如何让skrollr在启用turbolink的情况下工作.

Ter*_*cis 5

最后想出来了.你需要正常调用skrollr然后使用skrollr.init().refresh(); 在您的pushstate插件的新页面或加载页面功能上.所以使用turbolinks使用这个:

$(document).on('page:load', function () {
skrollr.init().refresh(); 
});
Run Code Online (Sandbox Code Playgroud)

希望这会节省很多时间.