javascript - 自上而下滚动后导航栏可见点自动调整

标签 javascript scroll visibility

组合了一个粘性导航栏 ( jsfiddle ),仅在用户从文档顶部向下滚动 10 像素后才可见。然而正如 fiddle 中所见;使用:

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

这仅在代码运行后的第一个实例中有效。在同一 session 中的后续类似操作中(完全向下滚动文档再次向上滚动),导航栏的显示位置会比 10 像素更远。它仅在刷新(重新重新运行)时再次起作用,并且仅在第一个从上到下滚动的实例中起作用。

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

这个 fiddle 已加载jquery:https://jsfiddle.net/6ss64s7e/

如何解决这些问题? (抱歉,我是 JavaScript 新手)。

最佳答案

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

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

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

滚动及其方向的检测,参见this question .

关于javascript - 自上而下滚动后导航栏可见点自动调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35102776/

相关文章:

javascript - 我无法使用 multer 查看 Angular 响应

javascript - 使用 JavaScript 将鼠标滚动事件转发到另一个 div

java - 当前jframe被释放时如何设置前一个jframe可见

javascript - Vue2 : data updated but html not?

javascript - 如何在 JavaScript 中重新格式化 JSON?

javascript - 禁用临时滚动功能

javascript - 如何使用 Puppeteer 和纯 JavaScript 检查元素是否可见?

vb.net - 如何确定 VB.NET ListView 是否向用户显示垂直滚动条

javascript - 关于 javascript 中的闭包,几乎不需要澄清

iphone - 如何重置 UITableView 的滚动位置?