javascript - 当用户将页面滚动到底部时页脚向上滑动

标签 javascript jquery html css

我在网页底部固定了一个页脚,但我不希望它在用户到达页面底部之前可见,然后我希望它向上滑动。

页脚高度为 200 像素并固定在底部,正文底部有 200 像素的内边距。

CSS:

footer {
    min-height: 200px;
    background-color: #bdf207;
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
    bottom: 0;
 }

body {
    padding-bottom: 200px;
}

我正在使用的 jQuery 如下,但它不工作:

$(window).scroll(function() {
    // when user starts scrolling trigger function
    var scrollBottom = $(document).height() - $(window).height() - $(window).scrollTop();
    // if the bottom of the page reaches 250px remaining of the document
    if (scrollBottom > 250){
        // slide the footer up
        $('footer').slideUp('slow');
    }
});

最佳答案

我会以不同的方式处理它。我会利用绝对定位并将其隐藏在文档下方,直到您滚动到适当的位置。

$(window).scroll(function() {
  var scrollBottom =
      $(document).height() - $(window).height() - $(window).scrollTop(),
      currentPos = parseInt($('footer').css('bottom'));

  if(currentPos === -200 || currentPos === 0)
    if (scrollBottom < 250){
      $('footer').stop().animate({bottom: 0});
    } else {
      $('footer').stop().animate({bottom: -200});
    }
});
footer {
    min-height: 200px;
    background-color: #bdf207;
    position: fixed;
    left: 0;
    right: 0;
    bottom: -200px;
}

body {
    padding-bottom: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<footer>Footer</footer>

关于javascript - 当用户将页面滚动到底部时页脚向上滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34769893/

相关文章:

javascript - Google 图表仪表未显示,TypeError : google. 可视化。仪表不是构造函数

jquery - 如何让 jqgrid 单元格溢出表现得像 html 表格

javascript - 如何使用 Javascript 解析 html 表格单元格的公式以像 Excel 一样工作

javascript - 单击表 'checking' 复选框中的行?

php - 多个单选按钮ajax post

javascript - 按钮无法在边缘正确显示

javascript - 在选择选项中选择多个项目而不使用 'ctrl' 键

javascript - 可清除的输入代码未按预期工作

javascript - NodeJs程序完成后不退出

html - 为什么我的标题栏与滚动条重叠