onScroll事件未启动else{}函数

onScroll event not firing else{} function

本文关键字:函数 else 启动 事件 onScroll      更新时间:2023-09-26

我正在尝试运行一个简单的"onScroll do something"函数。

当访问者从顶部窗口位置滚动超过20像素时,标题的大小应该缩小(与内容一起缩小)。当访问者滚动回顶部(或<20px)时,标题应该返回到原始大小(自动)。

出于某种原因,我所做的一切似乎都不起作用。标头(和内容)收缩得很好,但函数的else{}部分不会激发。标头大小不变。这就像if{}部分中的大小覆盖了其他所有内容。

我只想做一个简单的固定标题栏,当你向下滚动页面时,它会缩小(最小化),如果你回到顶部,它会翻回原来的大小。

如果有任何帮助,我将不胜感激!谢谢大家!

HTML:

<header>
    <img src="http://froggyadventures.com/wp-content/uploads/galleries/post-93/full/placeholder%20-%20Copy%20(3).gif" />
</header>
<section>
    <p>At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.</p>
</section>

JS:

$(window).scroll(function () {
    var topW = $(window).stop().scrollTop();
    if (topW > 20) {
        $('header').animate({"height": "15%"}),
        $('header img').css({"height": "10%","width": "10%"});
    } else {
        $('header').animate("height", auto);
    }
});

演示小提琴--http://jsfiddle.net/jwarddesign/NphFw/3/

我认为不可能将动画设置为"自动"高度。

您可以在运行函数之前保存高度,然后可以将其动画设置回该高度。

// Get the height
var h = $('header').outerHeight();
// Animate to the stored height
$('header').animate({"height": h})

http://jsfiddle.net/NphFw/22/