2016-09-01 2 views
0

私はJQueryとjavascriptの初心者です。問題解決のために一日中苦労しています。私はあなたの誰かが助けになるかもしれないと願っています。 私は、ビューポートの高さの半分が宣言されたクラスを通過したので、いくつかのボックスを表示させようとしています。 は、私はしばしばそれを動作させるために、このコードを使用します。ブートストラップタブにスクロールしてdivをアニメ化する

$(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があります。

「ブートストラップの.tab-コンテンツ」の外では動作しますが、その内部では動作しないとはどういう意味ですか、私は機能をオフセットする必要があると思います。何度も繰り返しましたが、肯定的な結果は得られませんでした。

+0

もう少し文脈を与えることができますか、あるいはjsfiddleかもしれませんか? '.boxes'クラスはアニメーション化しようとしていますか? –

+0

私は家に帰るとすぐにさらに情報をアップロードします。とにかく、それは動作しないと言って間違っていた、それは動作しますが、アニメーションはページが読み込まれると直ちに開始され、それに近いときにスクロールしません – Rusvelt2000

答えて

0

は、それはすべきではない>の代わりに、<

場合($( '前へ-DIV。')(オフセット)トップ - 。。$(ウィンドウ).height()/ 2> wScroll)

+0

いいえ、コードは正しく、以前のすべてのウェブサイトで常に機能していました。それは単に「ブートストラップの.tab-コンテンツ> .tab-ペイン」の一部であるからです。 – Rusvelt2000

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); 
    }); 
    } 
} 

とにかく、別のタブをスクロールするとアニメーションが発生するため、解決できない問題がもう1つあります。そこに解決策はありますか?

関連する問題