Javascript 如何解决“无法读取null的属性'top'的错误”?

Javascript 如何解决“无法读取null的属性'top'的错误”?,javascript,jquery,onscroll,Javascript,Jquery,Onscroll,我正在尝试在HubSpot CMS中创建一个用于滚动事件的函数,但得到onScroll事件的错误。脚本如下所示: 联机时出错:if refElement.position.top scrollPos TypeError:无法读取null的属性“top” var模块_9519291=功能{ var_uuhs_messages={}; i18n_getmessage=函数{ 返回hs_i18n_getMessage_uhs_消息,hsVars['language',参数; }; i18n_getl

我正在尝试在HubSpot CMS中创建一个用于滚动事件的函数,但得到onScroll事件的错误。脚本如下所示:

联机时出错:if refElement.position.top scrollPos

TypeError:无法读取null的属性“top”

var模块_9519291=功能{ var_uuhs_messages={}; i18n_getmessage=函数{ 返回hs_i18n_getMessage_uhs_消息,hsVars['language',参数; }; i18n_getlanguage=函数{ 返回hsVars['language']; }; $document.readyfunction{ $document.onscroll,onscroll; //平滑卷轴 $'a[href^=]'。单击,函数E{ e、 防止违约; $document.offscroll; $'a'。每个函数{ $this.removeClass'active'; } $this.addClass'active'; var target=this.hash, 菜单=目标; $target=$target; $'html,body'.stop.animate{ “scrollTop”:$target.offset.top+2 },300,'swing',函数{ window.location.hash=目标; $document.onscroll,onscroll; }; }; }; Crollevent函数{ var scrollPos=$document.scrollTop; $'myP a'。每个函数{ var currLink=$this; var refElement=$currLink.attrref; 如果refElement.position.top scrollPos{ $'myP ul li a'.removeClassactive; currLink.addClassactive; }否则{ currLink.removeClassactive; } }; } window.onscroll=函数{ 我的功能 }; 函数myFunction{ 如果document.body.scrollTop>50 | | document.documentElement.scrollTop>2000{ document.getElementByIdmyP.className=弹出按钮; }否则{ document.getElementByIdmyP.className=; } } $.b-toggler.clickfunction{ $myP.toggleClassb-hidden; }; }; 例如,您的HTML中没有id=welche vorteile的内容 您需要向我们显示导航的位置,因为正如您所看到的,即使使用Math.floor,您也无法获得匹配的值 您似乎还可以在scroll上做一些您应该在一个onscroll中完成的事情——如果您有jQuery,请一致地使用它 $document.readyfunction{ $document.onscroll,onscroll; }; Crollevent函数{ var scrollPos=Math.floor$document.scrollTop; $'myP a'。每个函数{ var$currLink=$this, href=$currLink.attrref, $refElement=$href; 如果$refElement.length>0{ var top=数学地板$refElement.position.top, 高度=数学地板$refElement.height,
activate=top确保refElement.position不为null…$currLink.attrref可能找不到任何内容…显示您的HTML或一个最小的完整且可验证的示例,以获得最终的answer@mplungjan-它正在尝试获取$currLink.attrref,即ID=currLink.attrref的元素-如果currLink.attrref为somet,则该元素可能有效喜欢someId-虽然refElement只是$this.href,没有currlink jquery错误,但我认为var currlink=$这是您的目标,所以尝试将其更改为currlink.position。top@sugars我相信链接的href是whatever,如果id=whatever的对象在其中,他们希望激活该链接view@mplungjan你说得对:特别是,$currLink.attrref未找到dom,然后返回null