jQuery Waypoints没有在正确的位置触发

时间:2014-06-10 09:59:49

标签: javascript jquery html twitter-bootstrap jquery-waypoints

我试图设置三个具有偏移位置的航路点,第一个航路点工作绝对正常并且在正确的偏移位置(75%)发射,但第二个和第三个航路点位于Flexslider Carousel之后未在正确的偏移位置触发。由于旋转木马改变了页面的高度尺寸,所以第二个和第三个航点一旦向下滚动页面然后需要,就会发射,因此增加了实际的偏移位置。

我试图打电话给$.waypoints('refresh'),但我没有任何幸运。我的代码如下。

// first-flexslider
$(window).load(function() {
  $('#firstSlider').flexslider({
    animation: "slide",
    directionNav: false,
    controlNav: true,
  });
});
// second-flexslider
$(window).load(function() {
  $('#secondSlider').flexslider({
    animation: "slide",
    directionNav: false,
    controlNav: false,
  });
});
$('.prev, .next').on('click', function() {
  var href = $(this).attr('href');
  $('#secondSlider').flexslider(href)
  return false;
})
$(document).ready(function(){
  $.waypoints('refresh');
});
// waypoints
$(document).ready(function() {

  $('.wp1').waypoint(function() {
    $('.wp1').addClass('animated fadeInUp');
  }, {
    offset: '75%'
  });

  $('.wp2').waypoint(function() {
    $('.wp2').addClass('animated fadeInUp');
  }, {
    offset: '75%'
  });

  $('.wp3').waypoint(function() {
    $('.wp3').addClass('animated fadeInUpD');
  }, {
    offset: '75%'
  });

});

我希望找到如何克服这个问题,让第二和第三航点在正确的偏移位置(75%)点火。如果您需要更多信息,请与我们联系。感谢。

1 个答案:

答案 0 :(得分:1)

Flexslider有一个回调API,您可以在各种操作后执行函数:https://github.com/woothemes/FlexSlider/wiki/FlexSlider-Properties

我会检查after回调,可能还有start回调,然后从那里调用刷新。例如:

$('#secondSlider').flexslider({
  animation: "slide",
  directionNav: false,
  controlNav: false,
  after: function() {
    $.waypoints('refresh');
  }
});