javascript - onScroll 事件未触发 else{} 函数

标签 javascript jquery html scroll

我正在尝试运行一个简单的“onScroll 做某事”函数。

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

出于某种原因,我所做的一切似乎都不起作用。 header (和内容)很好地缩小,但函数的 else{ } 部分不会触发。 header 大小不会改变。就像 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);
    }
});

Demo Fiddle — 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/

关于javascript - onScroll 事件未触发 else{} 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17280564/

相关文章:

javascript - 如何在我的 React 应用程序中使用样式化组件?

jquery - 在 JQuery 对话框中启用按钮

jquery - CSS 菜单列表和 OnClick(事件颜色)

javascript - 使用jspdf库将html文件转换为pdf

jquery - CSS等高列

javascript - 在不相关的文本框中输入内容时 Div 消失

javascript - 仅解析小时

javascript - 在不触发 hashchange 事件的情况下更改哈希

javascript - 元素离开屏幕

javascript - 扩展 float 元素的父 div 以适应它们的总宽度?