jQuery Waypoints在不同页面上的路标失败

时间:2015-10-07 23:04:57

标签: jquery jquery-waypoints

当我使用旧版本的jQuery Waypoints时,我在一个脚本文件中声明了我网站中的所有路标,如果某个元素在某个页面上不存在,那就无关紧要了航点要么开火要么被忽视。但是,在更新到当前版本之后,当我有几个如此声明的路标点时:

var sticky = new Waypoint.Sticky({
  element: $('.stickynav')[0],
  offset: 100,
});

var successStories = new Waypoint({
  element: $('#slider-wrap'),
  handler: function(direction) {
    if(direction === 'down'){
      $('ul.navbar-nav li.how').removeClass('active');
      $('ul.navbar-nav li #slider-wrap').addClass('active');
    } else if (direction === 'up'){
      $('ul.navbar-nav li #slider-wrap').removeClass('active');
      $('ul.navbar-nav li.how').addClass('active');
    }
  },
  offset: 90 
});

如果其中一个航路点元素在我所在的当前页面上不存在,则会抛出一个错误,即该元素未被传入并在该代码之后终止所有进程。您现在必须在每个特定页面上声明航点​​吗?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我只是将函数包装在

if($('.selector').length) {
   ...
}

首先检查元素是否存在。