私の質問はこれに似ていますが、答えのどれも私の問題を解決しません: Use JQuery preventDefault(), but still add the path to URL
ユーザーがフラグメント リンクをクリックしたときに、フラグメントにジャンプするという既定の動作を削除する必要がありますが、フラグメントを URL に追加する必要があります。このコード (リンクから取得) はアニメーションを起動し、フラグメントを URL に追加します。ただし、フラグメントに移動すると、私の場合はサイトが壊れます。
$("#login_link").click(function (e) {
e.preventDefault();
$("#login").animate({ 'margin-top': 0 }, 600, 'linear', function(){ window.location.hash = $(this).attr('href'); });
});