【发布时间】:2014-03-30 10:09:04
【问题描述】:
我在一个页面上有一些项目。当它们滚动到视图中时,我向它们添加动画类,如下所示:
$(window).scroll(function() {
var topOfWindow = $(window).scrollTop(),
bottomOfWindow = topOfWindow + $(window).height();
$('.buckle').each(function(){
var imagePos = $(this).offset().top;
if (imagePos < topOfWindow+400) {
$(this).addClass('animate');
}
});
});
Here's a stripped-down JSFiddle demo
这会触发动画在每次页面加载时发生一次:当图像距离视口顶部 400 像素时,添加类,动画滚动,然后图像保持静态。
但现在,无论用户是向上还是向下滚动,它们都应该在每次滚动到视口时动画一次。在演示的情况下,“Buckle”元素在滚动出视图后会丢失类 .animate,并在滚动回视图时重新应用。
使用 JQuery 触发此事件的最有效方法是什么?
【问题讨论】:
标签: javascript jquery css css-transitions