好的,我在尝试使用滚动事件上的条件为 DOM 的多个元素设置动画时遇到了问题。首先,我使用的是 Drupal 7,所以我使用的 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);
}
});