2017-06-13 6 views
0

表示/非表示に切り替えるフォームがあります。表示されているときに、画面をスクロールして切り替えたコンテンツにスクロールさせます。トグルをトリガーするボタンは画面の下部にあり、トグルされた領域はボタンの下に表示されます。コールバックスクロールで切り替えます

$(document).on('click', "#MyButton", function() { 
    $("#MyToggle").slideToggle("slow", callback); 

}); 

function callback() { 
    $('html, body').animate({ 
     scrollTop: $("#MyToggle").offset().top 
    }, 2000); 
}; 

トグルは完全に機能しますが、2回目に切り替えるとスクロールが機能し始めているようです。私が非表示にしてトグルをもう一度表示すると、ページがスクロールダウンします。私は何が欠けていますか?

+1

[最小限の完全かつ検証可能な例](https://stackoverflow.com/help/mcve)を投稿すると、より良い回答を得る機会が増えます。 –

+0

それはわかりません....しかし、私は、 'offset.top'がゼロであるため、' MyToggle'が隠されているとき、ページが一番上にスクロールすることを見ています。多分それはあなたの問題ですか? –

答えて

0

問題は解決しました。これがうまくいかなかったのは、body要素に100%の高さが設定されていたためです。私はこれが私が提供した情報から把握することは不可能に近いことを知っています。他の誰かが同じ問題を抱えているなら、私はここに答えを残します。

関連する問題