我正在学习Javascript并试用一些代码。我已经整理了一个小提琴,它使一个数字的动画从0到1000.它工作正常,但我不得不添加一些额外的代码行,我从其他脚本中获取,我已经看到它正是我想要的。
我设置了两个小提琴:
With the variable - 当浏览器滚动或静止时,运行良好且平滑动画。
Without the variable - 数字仅在浏览器静止时生成,并在滚动时暂停。
我为获得所需结果而添加的变量是:
if (!run && isScrolledIntoView('#visible')) {
///&
run=true;
//&
var run = false;
有人可以向我解释为什么我必须让它与浏览器滚动一起运行吗?我试图环顾网络,了解他们做了什么;但无济于事。我宁愿完全理解它的作用,而不仅仅是代码和希望,即使它确实有效。
这似乎很明显,但我正在努力学习。谢谢你提前。
答案 0 :(得分:0)
这很简单。在变量run
处于位置时,代码执行仅在您首先滚动时进入if (!run && isScrolledIntoView('#visible'))
块。
var run = false;
评估if块中的TRUE
,以便代码执行进入。然后将变量更改为'true',在if块中求值为FALSE
,以便代码执行不会进入块内;
在if块中添加alert('hello');
,您将自己查看。
作为旁注:
人们可以将变量alreadyStarted
命名为ambiguos run
而不是ambiguos {{1}},这可以帮助您避免弄清楚它的作用。尝试自己编写明显的代码:)。这是优秀实践Code complete