自上而下滚动后,导航栏可见性点会自动调整

时间:2016-01-30 14:10:07

标签: javascript scroll visibility

只有在用户从文档顶部向下滚动10px后,才会将粘贴的导航栏(jsfiddle)组合在一起。然而,如小提琴中所见;使用:

$(window).scroll(function () {
    if ($(this).scrollTop() > 10) {
     document.getElementById('navig').style.visibility = 'visible';

这仅在代码运行后的第一个实例中有效。在随后的类似操作中(完全向下滚动文档再次向上滚动)在同一会话中,导航栏的出现比10px更远。它只能在刷新(重新运行)时再次工作,而且再一次只能从上到下滚动的第一个实例。

另外,我希望效果能够在向上滚动时起作用,即。当用户移过该点时,固定导航栏应该在标题的底部变为绝对。当从顶部滚过10px时它应该隐藏。没有scrollBottom()函数,那么如何处理?

这个小提琴加载了jquery:https://jsfiddle.net/6ss64s7e/

如何解决这些问题? (原谅,我是javascript的新手)。

1 个答案:

答案 0 :(得分:1)

在返回值position:absolute;之前,您必须删除您添加的所有其他属性,因为它们不会被自动删除 - 因此,您不再需要top:0;

您可以通过将空字符串传递给其值来删除top:0;属性,如下所示:

$('#navig').css({'position':'absolute','top':''});

有关滚动及其方向的检测,请参阅this question