平滑javascript导航在第一次单击后停止工作

平滑javascript导航在第一次单击后停止工作,javascript,jquery,menu,navigation,slide,Javascript,Jquery,Menu,Navigation,Slide,此网页左侧有一个菜单。我需要实现的是,当按下相应的菜单选项时,能够转到页面部分。这是我的代码(非常确定它很糟糕,但我会在它工作后清理它): 然而,问题是它只工作一次。单击菜单一次后,它不再上下滑动。请告诉我有什么问题。 非常感谢。在Safari和Firefox中100%有效,虽然Firefox中的动画有点滞后,但Firefox中的动画是可以预期的,我在发布问题后的大约10分钟内意识到了为什么它不起作用((是的,现在已经修复了(Firefox有点问题,正如你所说的) navigateMe();

此网页左侧有一个菜单。我需要实现的是,当按下相应的菜单选项时,能够转到页面部分。这是我的代码(非常确定它很糟糕,但我会在它工作后清理它):

然而,问题是它只工作一次。单击菜单一次后,它不再上下滑动。请告诉我有什么问题。
非常感谢。

在Safari和Firefox中100%有效,虽然Firefox中的动画有点滞后,但Firefox中的动画是可以预期的,我在发布问题后的大约10分钟内意识到了为什么它不起作用((是的,现在已经修复了(Firefox有点问题,正如你所说的)
 navigateMe();
navInit = 1;
navNext = 2;
function navigateMe() {
    step = jQuery('ul#navigation li').size();
    looper = setInterval(function(){
        if(navNext > step + 1) {
            navInit = 1;
            navNext = 1;
        }
      var refLink = jQuery('ul#navigation li:nth-child(' + navInit + ') a').attr('href').replace('#', '');
      var divLink = jQuery("div[id='" + refLink + "']").offset().top;
      jQuery('ul#navigation li:nth-child(' + navInit + ') a').on('click', function() {
         jQuery('html, body').animate({
             scrollTop: divLink
            }, 500); 
      });
      navInit = navNext;
      navNext = navNext + 1;

    }, 0);

}