注意:这个问题已经解决了。查看这篇文章的底部以获取修复。
我有一个奇怪的问题,在过去的几天里我一直在拔头发。谢天谢地,我认为我已经将其隔离为一个错误的窗口/文档高度导致我的滚动动画永远不会出现的问题。我正在尝试使用animate.css中的 lightSpeedIn 动画来为 h2 标头设置动画,但是 wow.js 将简单地隐藏该元素并且即使滚动过去也不会显示它。如果我删除wow.js并仅使用Animate.css,则 h2 标题会很好地制作动画。
我已经使用以下代码进行了一些调试,我想我知道为什么 wow.js(我也尝试过使用其他滚动库但没有成功)正在破坏 - 由于某种原因 jQuery 报告窗口高度和文档高度都是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 似乎将以下样式分配给标题,但它似乎从未被切换。
visibility: hidden; animation-name: none
仅使用 animate.css 实现 - 有效
<h2 class="section-heading text-center animated lightSpeedIn">Sputnik Fact Sheet</h2>
最奇怪的事实是,问题只发生在网站的一部分上——我让wow.js在其他部分工作得很好。一些使用萤火虫的挖掘发现动画“lightSpeedIn”在它存在时并不存在。我什至尝试从网站的其他区域(例如旧选项卡)复制和粘贴动画名称到 h2 元素中,但它总是认为动画名称不存在。
我很困惑如何解决这个问题。有人对我的问题有任何见解吗?您可以在此处查看此问题的现场演示。
更新 1:我认为这可能是插件/库不兼容,所以我删除了除 animate.css 和 wow.js 之外的所有内容 - 没有解决任何问题。我完全被难住了。
更新 2:尝试使用其他滚动库。他们也不工作。将其缩小到内容对视口“不可见”的可能问题。
更新 3:找到解决方案。这非常简单 - 我在我的html,body选择器中隐藏了 overflow-x:。我删除了它,现在 wow.js 脚本可以正常工作。