在错误的时间加载类名的屏幕插件

时间:2013-02-22 12:41:08

标签: javascript jquery css addclass

这个onscreen插件只是为了在视口中添加类别名,但是一旦页面被加载,似乎就会添加类名,这不是意味着发生的事情。 / p>

$(function() {
  setInterval(function() {
  $("#star").filter(":onScreen").addClass('animated bounceInRight');
  }, 0)                             
})

我在这个插件中使用它,这是一个书籍效果插件,我认为它在某种程度上与屏幕冲突:http://pastebin.com/UmyJ6zBW这个插件需要在一个页面上的不同部分才能工作。屏幕在第一部分中使用时起作用,但在其他实际上不在视图中时打破。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你可以做三件事之一。

  1. 不要打扰。通常,您不必担心不在视图中的元素的样式。
  2. 使用setInterval()但将间隔减少到可接受的最小值但不小于约20 ms。
  3. [首选]建立一个事件处理程序,该事件处理程序将触发您的#star元素在屏幕上移动的原因。
  4. 对于第三种方法:

    • jQuery动画提供step回调,在每个动画步骤执行时触发。
    • 由于滚动文档也会导致元素进入/退出视图,您可能还需要scroll处理程序。

    小心,您应该能够编写单个函数并将其用于这两个目的。