嗯,我在尝试使用滚动事件上,对DOM的多个元素进行动画处理时遇到了问题。 首先,因为我正在使用Drupal7,所以我使用的jQuery库版本为1.4.4。
现在,我想通过更改头部内部元素的CSS属性来缩小页眉的大小,当页面向下滚动时。
所以首先,在滚动事件上,我检查窗口的scrollTop位置。 如果该位置与0不同(表示页面已经向下滚动),则在页眉内的元素上触发动画。
如果该位置等于零,则希望CSS属性恢复其原始状态,以便页眉恢复其完整大小。
第一部分动画效果很好。 当我向下滚动页面时,页眉像预期的那样缩小。 但是当我将页面滚回顶部时,第二个动画无法正常工作...动画都很混乱,并且会在几秒钟后出现,转而来回更改受animate()
函数影响的CSS属性。
有人知道如何解决这个问题吗?
以下是我正在使用的简化代码部分:
$(window).scroll(function(){
if($(window).scrollTop() != 0){
$('#myFirstElement').animate({marginTop: '20px'}, 300);
$('#mySecondElement').animate({top: '20px'}, 300);
}
else {
$('#myFirstElement').animate({marginTop: '32px'}, 300);
$('#mySecondElement').animate({top: '32px'}, 300);
}
});