0

我目前正在学习 Javascript 并尝试一些代码。我已经组装了一个 Fiddle,它可以使数字从 0 变为 1000。它工作正常,但我必须添加一些额外的代码行,这些代码是从我见过的其他脚本中获取的,以得到我想要的。

我设置了两个小提琴:

使用变量- 当浏览器滚动或静止时运行良好且平滑的动画。

没有变量- 数字仅在浏览器静止时动画,并在其滚动时暂停。

我添加以获得所需结果的变量是:

if (!run && isScrolledIntoView('#visible')) {
///&
run=true;
//&
var run = false;

有人可以向我解释为什么我必须拥有这些才能让它在浏览器滚动时运行吗?我试图环顾网络以了解他们的工作;但无济于事。我宁愿准确地理解它的作用,而不仅仅是代码和希望,即使它确实有效。

这似乎很明显,但我正在努力学习。先谢谢了。

4

1 回答 1

0

这很简单。使用变量runin 时,代码执行仅在您第一次滚动时进入if (!run && isScrolledIntoView('#visible'))块一次。

var run = false;

在 if 块中求值TRUE,因此代码执行进入内部。然后它将变量更改为“true”,在 if 块中计算为,FALSE以便代码执行不会进入块内;添加alert('hello');到 if 块中,您将自己看到。

作为旁注:人们可以命名变量alreadyStarted而不是 ambiguos run,这样可以避免您弄清楚它的作用。尝试自己编写明显的代码:)。这是优秀实践代码完整的优秀读物

于 2013-10-19T14:03:28.790 回答