不正确的视口大小导致动画无法在滚动时执行
Incorrect viewport size causing animations to not excute on scroll
注:已解决。查看此 post 的底部以进行修复。
我有一个奇怪的问题,过去几天我一直在努力解决这个问题。值得庆幸的是,我认为我已经将它与 window / 文档高度不正确导致我的滚动动画永远不会出现的问题隔离开来。我正在尝试使用 animate.css 中的 lightSpeedIn 动画来制作 h2 header 中的动画,但 wow.js 只会隐藏元素而不会显示它尽管滚动过去。如果我删除 wow.js 并仅使用 Animate.css ,则 h2 标题的动画效果会很好。
我已经使用以下代码进行了一些调试,我想我知道为什么 wow.js(我也尝试过使用其他滚动库但没有成功)出现故障 - 出于某种原因 jQuery正在报告 window 高度和文档高度均为 943。网站上显然有一个滚动条,所以我很确定我所做的任何滚动实现都不会工作,因为代码从来没有看到任何滚动到.
<div id="console">
$(window).height() = <span id="winheight"></span> <br/>
$(document).height() = <span id="docheight"></span>
</div>
将导致以下内容出现在网站上。
使用 wow.js 实现 - 不起作用
<h2 class="section-heading text-center wow lightSpeedIn">Sputnik Fact Sheet</h2>
在这种情况下,wow.js 似乎将以下样式分配给 header,但它似乎从未被切换。
visibility: hidden; animation-name: none
仅 animate.css 的实现 - 有效
<h2 class="section-heading text-center animated lightSpeedIn">Sputnik Fact Sheet</h2>
最奇怪的是问题只出现在网站的一个部分 - 我的 wow.js 在其他部分工作得很好。对 firebug 的一些挖掘表明动画 "lightSpeedIn" 在存在时并不存在。我什至尝试将网站其他区域(例如旧版标签)的动画名称复制并粘贴到 h2 元素中,但它总是认为动画名称不存在。
我不知道如何解决这个问题。有人对我的问题有任何见解吗?您可以查看此问题的现场演示 here。
更新 1:我认为这可能是 plugin/library 不兼容,所以我删除了除 animate.css 和 wow.js 之外的所有内容 - 没有解决任何问题。我完全被难住了。
更新 2:尝试使用其他滚动库。它们也不起作用。将其缩小为内容 "invisible" 到视口的可能问题。
更新 3:找到解决方案。这非常简单——我的 overflow-x: hidden 在我的 html,body 选择器上。我删除了它,现在 wow.js 脚本可以正常工作。
找到解决方案。这非常简单——我有 overflow-x: hidden 在我的 html,body 选择器上。我删除了它,现在 wow.js 脚本可以正常工作了。
上一个CSS代码
html,body {
height: 100% !important;
margin: 0;
background-color: #161519;
color: #fffafa;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14.5px;
line-height: 1.42857;
max-width: 100%;
overflow-x: hidden
}
固定CSS代码
html,body {
height: 100% !important;
margin: 0;
background-color: #161519;
color: #fffafa;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14.5px;
line-height: 1.42857;
max-width: 100%;
}
注:已解决。查看此 post 的底部以进行修复。
我有一个奇怪的问题,过去几天我一直在努力解决这个问题。值得庆幸的是,我认为我已经将它与 window / 文档高度不正确导致我的滚动动画永远不会出现的问题隔离开来。我正在尝试使用 animate.css 中的 lightSpeedIn 动画来制作 h2 header 中的动画,但 wow.js 只会隐藏元素而不会显示它尽管滚动过去。如果我删除 wow.js 并仅使用 Animate.css ,则 h2 标题的动画效果会很好。
我已经使用以下代码进行了一些调试,我想我知道为什么 wow.js(我也尝试过使用其他滚动库但没有成功)出现故障 - 出于某种原因 jQuery正在报告 window 高度和文档高度均为 943。网站上显然有一个滚动条,所以我很确定我所做的任何滚动实现都不会工作,因为代码从来没有看到任何滚动到.
<div id="console">
$(window).height() = <span id="winheight"></span> <br/>
$(document).height() = <span id="docheight"></span>
</div>
将导致以下内容出现在网站上。
使用 wow.js 实现 - 不起作用
<h2 class="section-heading text-center wow lightSpeedIn">Sputnik Fact Sheet</h2>
在这种情况下,wow.js 似乎将以下样式分配给 header,但它似乎从未被切换。
visibility: hidden; animation-name: none
仅 animate.css 的实现 - 有效
<h2 class="section-heading text-center animated lightSpeedIn">Sputnik Fact Sheet</h2>
最奇怪的是问题只出现在网站的一个部分 - 我的 wow.js 在其他部分工作得很好。对 firebug 的一些挖掘表明动画 "lightSpeedIn" 在存在时并不存在。我什至尝试将网站其他区域(例如旧版标签)的动画名称复制并粘贴到 h2 元素中,但它总是认为动画名称不存在。
我不知道如何解决这个问题。有人对我的问题有任何见解吗?您可以查看此问题的现场演示 here。
更新 1:我认为这可能是 plugin/library 不兼容,所以我删除了除 animate.css 和 wow.js 之外的所有内容 - 没有解决任何问题。我完全被难住了。
更新 2:尝试使用其他滚动库。它们也不起作用。将其缩小为内容 "invisible" 到视口的可能问题。
更新 3:找到解决方案。这非常简单——我的 overflow-x: hidden 在我的 html,body 选择器上。我删除了它,现在 wow.js 脚本可以正常工作。
找到解决方案。这非常简单——我有 overflow-x: hidden 在我的 html,body 选择器上。我删除了它,现在 wow.js 脚本可以正常工作了。
上一个CSS代码
html,body {
height: 100% !important;
margin: 0;
background-color: #161519;
color: #fffafa;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14.5px;
line-height: 1.42857;
max-width: 100%;
overflow-x: hidden
}
固定CSS代码
html,body {
height: 100% !important;
margin: 0;
background-color: #161519;
color: #fffafa;
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14.5px;
line-height: 1.42857;
max-width: 100%;
}