したがって、notifications
とtopic
という2つのページがあります。 Topic
ページにはコメントがあり、すべてのコメントには一意のIDがあります。ユーザがnotifications
ページ内のコメントリンクを押すと、彼はtopic
ページに移動し、押したコメントにスクロールします。その後のリンクはtopic/titleoftopic#comment_627
のようになります。それはかなりうまくいったけど、無限のスクロールを追加して最初のいくつかのコメントだけを表示し始めたとき(残りはスクロールの下にスクロールされます)、コメントにスクロールせず、コンソールにエラーが表示されますUncaught TypeError: Cannot read property 'top' of undefined
コメントがまだ読み込まれていないためです。それを動作させる方法はありますか?私はアイディアを持っています。正確なコメントが見つかるまでスクロールし始めますが、これを実装する方法はわかりません。スクロールする方法のコードは次のとおりです。Ajax(無限スクロール)経由でロードされるはずの要素IDまでスクロール
//Scroll to the comment from notifications
$(document).ready(function() {
$('html, body').hide();
if (window.location.hash) {
$('html, body').scrollTop(0).show();
$('html, body').animate({
scrollTop: $(window.location.hash).offset().top
}, 800);
} else {
$('html, body').show();
}
});
アドバイスやご提案ありがとうございます。
$(window.location.hash).offset()。トップがあなたの問題である –
はい、私は知っている、私はコンソールのエラーからそれを得たが、私はこれをどのように修正するのですか? –
ポイントは.offset()が存在しないことです –