使用animate.css反弹显示隐藏

时间:2015-05-11 17:13:17

标签: jquery animate.css

这有效

$(window).on('scroll', function() {
scrollPosition = $(this).scrollTop();
if (scrollPosition > 50) {
  $('.top-nav').show();
} else {
  $('.top-nav').hide();
}});

这只能运作一次(反弹后会发生什么?因为我不能让元素再次反弹)

$(window).on('scroll', function() {
scrollPosition = $(this).scrollTop();
if (scrollPosition > 50) {
    $('.top-nav').css('visibility', 'visible').addClass('animated bounceInLeft');
} else {
    $('.top-nav').addClass('animated bounceOutLeft');
}
});

1 个答案:

答案 0 :(得分:0)

您的代码执行如下:

  1. scrollPosition位于顶部
  2. scrollPosition超过50时,您要将课程animatedbounceInLeft添加到.top-nav元素
  3. 如果scrollPosition仍然超过50,则不会发生任何事情
  4. scrollPosition低于50时,您第一次没有删除bounceInLeft课程而是添加bounceOutLeft。只有在这种情况下,添加bounceOutLeft时才会起作用,但是:
  5. 当scrollPosition低于或超过50时,bounceInLeftbounceOutLeft这两个类已经分配给.top-nav元素=> 什么都没发生。
  6. 以上只是一种可能的情况,但底线仍然相同,你是添加动画类而不是切换它们。

    同样适用于可见性。好吧,差不多......