Bootstrap:在滚动条上向导航栏添加/删除固定位置

时间:2019-01-21 01:21:35

标签: jquery twitter-bootstrap css3

我正在尝试通过在navbar-default的滚动条上将固定位置top固定为0来将导航栏保持在顶部,并在向上滚动时将导航栏放回相同位置(顶部300),

下面是我的代码

def savecounter():
    bus.close()
    gpio.cleanup()

import atexit
atexit.register(savecounter)
timer = QtCore.QTimer() 
timer.timeout.connect(update) 
timer.start(0) 

if __name__ == '__main__':
    import sys
    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
        QtGui.QApplication.instance().exec_()

我不确定是否可以,否则是否可以正确编写零件代码,因为如果我向上滚动导航栏,就会消失,请告知我该如何解决。谢谢

编辑:我试图在滚动条上添加navbar-fixed-top,然后将其删除,但是由于某种原因,它会在整个页面上增加闪烁效果,所以我改用定位

1 个答案:

答案 0 :(得分:0)

如果通过“闪烁”来表示导航栏下面的元素跳起来以填补空白,解决方案是将导航栏放置在固定高度(导航栏的高度)元素内,例如<div>。发生这种情况的原因是,当您修复导航栏时,它已从页面流中删除,其他元素向上移动以填补空白。这就是为什么需要固定高度的父母的原因。这样您就可以使用.navbar-fixed-top
我在代码中看到的问题是,当您将位置重新设置为相对位置时,将顶部设置为高度。相对定位的元素相对于其在页面上的位置而不是在文档或视口中的位置,因此您需要将其设置为0。
同样,您也不必将if放在else之后。