2017-10-16 8 views
0

私はウェブサイト用に構築しているチームページを持っています。モバイル上の1つの列。従業員の写真をタップすると、隠しdivが展開され、従業員情報(タイトル、引用符など)とその他の拡張従業員情報欄が折りたたまれて表示されるので、一度に1つの隠しdivしか表示されません。jQuery ScrollTopは他のdivコラプス後に正しい位置にスクロールしません

問題は、これらのdivが展開されて折りたたまれて、以前の拡張divよりも多かれ少なかれ高さが上がっていることです。 jQueryのscrollTopはdivの以前の位置にあり、新しい位置の先頭にはありません。

新しい拡張されたdivの先頭に移動するためにできることはありますか?

このコードは、私が現在持っているもので、jQueryを使って非表示のdivを展開して閉じるのに使用します。

jQuery('html, body').delay(500).animate({ scrollTop: jQuery(eleClass2).offset().top }, 1000); 

答えて

0

私はあなたの現在のターゲットの親ノードにオフセットを割り当てる必要があるかもしれないと思います。何が価値があるためにそれを取るが、私はのような何か試してみた:

jQuery('html, body').delay(500).animate({ 
    scrollTop: jQuery(eleClass2).parent().offset().top 
}, 1000); 
+0

をだから私は、そのコードを追加し、私は、コンソールにエラーを取得しています:jQueryの(...)parentNodeが –

+0

てみ関数ではありません。 .parent()はjQueryと同等です。私の悪い。 – JakeofSpades

+0

エラーは消えましたが、私はまだ同じ問題を抱えています。現在の位置ではなく元の位置にスクロールするのが好きです。場合によっては数ピクセルになることがありますが、ほとんどの場合は数百になります。 これらの非表示のdivをすべてモバイル/タブレットに展開したいと思っています。 –

関連する問題