Javascript JS:有没有一种方法可以在单击函数中调用滚动函数,或者将两者结合起来?

Javascript JS:有没有一种方法可以在单击函数中调用滚动函数,或者将两者结合起来?,javascript,jquery,navbar,sticky,Javascript,Jquery,Navbar,Sticky,我的页面有一个粘性导航栏,它的“粘性”很好,但是导航栏的两个主要内部元素*的行为没有分离。两个主要的内部元素是徽标和滑出导航栏(点击激活)。预期行为如下: 默认情况下,徽标(位于橙色条的中心)必须“隐藏”,并且仅限于 当用户从顶部向下滚动80px(或 从文档顶部滚动到80像素) 当用户在屏幕顶部80px范围内滚动时,徽标必须立即隐藏 文件 但是,在滑出导航栏处于活动状态时,徽标必须始终不可见。;但是,导航栏处于非活动状态时,它必须再次可见 与徽标不同,导航栏图标必须始终可见,并且 就像标志一样

我的页面有一个粘性导航栏,它的“粘性”很好,但是导航栏的两个主要内部元素*的行为没有分离。两个主要的内部元素是徽标滑出导航栏(点击激活)。预期行为如下:

  • 默认情况下,徽标(位于橙色条的中心)必须“隐藏”,并且仅限于 当用户从顶部向下滚动80px(或 从文档顶部滚动到80像素)

  • 当用户在屏幕顶部80px范围内滚动时,徽标必须立即隐藏 文件

  • 但是,在滑出导航栏处于活动状态时,徽标必须始终不可见。;但是,导航栏处于非活动状态时,它必须再次可见

  • 与徽标不同,导航栏图标必须始终可见,并且
    就像标志一样,它一定很粘

在中,所有预期行为都将播放,但仅在滚动中播放,而不是单击。即,向下滚动超过80px后,徽标将可见(这很好),但当导航栏图标被单击到活动状态时,徽标不会隐藏(除非导航元素已处于活动状态)。这个问题在我滚动的那一刻就解决了,但不是在我想要发生的单击的那一刻

我知道为什么会发生这种情况,这是因为我在
$(窗口)中处理了所有这些条件。滚动(函数()
,但我没有在
$(“#菜单打开器”)中。单击(函数()
),仅仅因为我无法在那里使用scrollTop(),我也无法成功地组合这两个函数

那么,我如何解决这个问题,无论是通过组合函数、在clickfunction中调用scrollTop()还是其他方法?如果您能提供帮助,我将不胜感激

请注意:虽然我说的是“导航栏的两个主要内部元素”,但事实上,我已经将徽标和导航栏分别放置在不同的分区中,并希望它保持这种状态

我补充道#menulogo:

$("#menu-opener").click(function(){
  $("#menu-opener, #menu-opener-inner, #menu, #menulogo").toggleClass("active");
});
对于css:

#menulogo.active #logoflag{display:none}

那你为什么不能用scrollTop呢

这不是预期的行为吗:

您可以通过以下方式检查scrolltop:

if($(window).scrollTop() > 80)   

@Jeroen是的,谢谢,这是预期的行为-出于某种原因,它在我的本地主机上冻结-我现在正试图看到问题。