Animate divs滚动到引导选项卡

时间:2016-09-01 22:53:02

标签: javascript jquery function scroll tabs

我是JQuery和javascript的真正初学者,我一整天都在苦苦寻找解决问题的方法。我希望你们中的某些人可能会有所帮助,这应该不会很难。 我试图让一些框出现,因为视口高度的一半已通过声明的类。 我经常使用此代码使其工作:

$(window).scroll(function() {
  homeSlide();
});
function homeSlide() {
  var wScroll = $(window).scrollTop();

  if($('.prev-div').offset().top - $(window).height()/2 < wScroll) {

    $('.boxes').each(function(i) {
      setTimeout(function() {
        $('.boxes').eq(i).addClass('bounce-in');}, 100 *i);
    });
  }
}

它始终适用于传统的html-css内容。现在它不起作用,或者更好,它可以工作,但是一旦页面加载,而不是当我滚动到它的邻近。我想这是因为它发生在引导程序“.tab-content”中。那么我如何引用“.active .tab-pane”来使函数正常工作,因为我接近所需的点? 希望我能在你的帮助下解决这个问题 Thanx为您提供支持。

编辑:这里我上传了一个关于JsFiddle所需效果的简单表示,这里是link

我怎么说它在“Bootstrap的.tab-content”之外工作但不在其中,我想我需要抵消我的功能,我一遍又一遍地尝试,但没有积极的结果。

2 个答案:

答案 0 :(得分:0)

不应该是&gt;而不是&lt;

if($('。prev-div')。offset()。top - $(window).height()/ 2&gt; wScroll)

答案 1 :(得分:0)

我终于找到了解决问题的解决方案:有必要在“if”语句中用$(window)替换$('a[data-toggle="tab"]')

function homeSlide() {
  var wScroll = $(window).scrollTop();

  if($('.prev-div').offset().top - $('a[data-toggle="tab"]').height()/2 < wScroll) {

    $('.boxes').each(function(i) {
      setTimeout(function() {
        $('.boxes').eq(i).addClass('bounce-in');}, 100 *i);
    });
  }
}

无论如何,现在还有一个我无法解决的问题,因为如果我滚动另一个标签,动画就会触发。它有解决方案吗?