javascript - 使用 jQuery 滚动时动态调整 div 的大小

标签 javascript jquery css

我正在为我的固定 header 寻找 jQuery 解决方案。如果用户向下滚动,标题将以与滚动位置相同的方式收缩,直到达到最小高度。

示例:
滚动位置:0
div 高度:250px

滚动位置:85
div 高度:165px (=250px-85)

滚动位置:435
div 高度:100px(=最小高度)

这是快速 fiddle .

body {
    height: 1000px;
}

.header {
    position: fixed;
    background-color: lightblue;
    height: 250px;
    width: 100%;
}

<div class="header"></div>

这是我的解决方案:fiddle

最佳答案

您可以使用 Window Scroll Event 的组合和 scrollTop() 函数来实现同样的效果。

$(window).scroll(function(){
    var distanceFromTop = $(document).scrollTop();
    if(distanceFromTop < 84 )
    {
        // set div height to 250px
    }   
    else if(distanceFromTop == 85)
    {
        // reduce the div height
    }
    else if(distanceFromTop > 85 && distanceFromTop <= 434)
    {
        // do something with height if required
    }
    else if(distanceFromTop > 434)
    {
        // set div height to 100px
    }   
});

DEMO

关于javascript - 使用 jQuery 滚动时动态调整 div 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29345404/

相关文章:

javascript - 为什么 scrollWidth 只包括左填充?

jQuery在PX中获取元素宽度

jquery - 类似 Twitter 的文本框字符计数,带有内联警报

html - Bootstrap 导航栏切换按钮在某些页面上不起作用

javascript - Canvas 绘制带箭头的虚线

javascript - 在jQuery中用另一个div封装一组div

jquery - jquery 中的下拉子菜单出现问题

html - 不要调整背景图片的高度

html - 移动 View 上的网站布局中断

javascript - 尝试从一个 JS 文件中包含多个 JS 文件时出错