【发布时间】:2014-03-27 07:18:40
【问题描述】:
有很多教程可以让标题的高度在您向下滚动时变小,而在您向上滚动超过某个点时变大。我想知道如何在滚动时使标题的高度变小,但随着滚动。因此,如果您在动画完成之前停止滚动,它也会停止……然后当您继续向上或向下滚动时,它也会继续。
这是一个根本无法按我想要的方式工作的小提琴,但它是我发现的滚动动画的代码......
$(window).scroll(function(){
var scrollPos = $(window).scrollTop();
if( ( scrollPos === 0 ) && ( scrollState === 'top' ) ) {
$('.header').stop().animate({height: '200px'}, 300);
scrollState = 'scrolled';
}
else if( ( scrollPos === 0 ) && ( scrollState === 'scrolled' ) ) {
$('.header').stop().animate({height: '50px'}, 300);
scrollState = 'top';
}
});
【问题讨论】:
-
到目前为止您尝试过什么?我们可以提供想法,但我希望没有人为您编写所有代码,因为您还没有表现出自己编写代码的努力。诀窍是检测窗口的滚动位置并根据它更改高度到指定的最小高度或最大滚动位置
-
为什么不将滚动位置绑定到 .header 的 css 'top' 属性?
-
我不知道该怎么做,但我的内容需要保留在原地,所以我真的需要为高度设置动画。我刚刚更新了小提琴以显示我需要通过向上滚动到文本点来减小高度,然后停止直到向上滚动时高度会随着滚动而变大。 jsfiddle.net/A3XQG/1