javascript - 刷新页面后 Skrollr 中断

标签 javascript html css page-refresh skrollr

My website使用 Skrollr 在主页的背景上创建视差效果。它完美地工作......除非你刷新页面:

如果您访问该网站,您会看到背景以与内容不同的速度滚动,并且它们都在页面底部一起结束。但是,如果您刷新页面,背景将停止向下滚动一半。我认为背景 div 的滚动速度比平时快得多,并且过早地到达底部。如果您单击离开页面然后导航回它,它工作正常。问题出在刷新上。

这是背景div的代码:

<div id="background" class="skrollable"
     <?php if (is_page('the-couple')) { ?>
        data-0="background-position:0% 0%;"
        data-end="background-position:0% 100%;">
    <?php } else { ?>
        data-0="background-position:0% 100%;"
        data-end="background-position:0% 100%;">
    <?php } ?>
</div>

我已经尝试在 window.load 上刷新 skrollr,但它似乎没有解决问题。还有其他人遇到过这个吗?有什么解决办法吗?

最佳答案

我没有使用 Skrollr,但这是我认为会发生的情况:

您从 cdnjs.cloudflare.com 加载您的脚本,此加载是异步的。您可能在脚本上设置了滚动速度,然后首先加载该脚本。 之后来自 cloudfare 的脚本被加载并且可能设置为默认速度。

第二次加载页面时,两个脚本都是从缓存中加载的,并且 cloudfare 脚本可能之前已加载。

解决方案:

  1. 从 cloudfare 下载脚本并将其包含在您的页面上 BEFORE 速度设置。作为第一个测试,只需先将它移到头部即可。

  2. 在页面加载时设置速度和调用函数。

关于javascript - 刷新页面后 Skrollr 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29137618/

相关文章:

javascript - 使用 .prototype 将方法添加到变量

javascript - 如何修复 Jquery 模板?段落长度问题

javascript - 如何使用 Brain.js 查找模式

html - 哪些文件是我应该上传到主机的文件

javascript - 为什么 index.html 加载 css 或 js 模块,请求就好像它们是目录一样?

html - Bootstrap nav-fixed-top 在页面缩小时覆盖文本

javascript - JSTestDriver 并发测试

javascript - 将两个带有 alpha 边框的 .png 图像与 CSS 混合

html - 与 li parents 具有边界半径的 Accordion

javascript - iPhone/iPad 视角在纵向和横向上发生变化