リロードせずに同じページ内の HTML アンカーに移動する方法を考え出そうとしています。今、私はちょうど使用しています:
header("Location: #anchor_name");
それに関する問題は、ページをリロードすることです。できればJavaScriptの使用を避けたいのですが、他に方法があるかどうかわかりません。
ありがとうございました!
PS - リダイレクトで完全な URI を使用する必要があることはわかっています。ここでは簡単にするために省略しています。
jsを使用できます:
function scrollToAnchor_name(anchorName) {
location.hash = "#" + anchorName;
}
PHPはサーバーサイドテクノロジーです。したがって、コンテンツの観点から、またはどの部分が表示されているかを判断するためにページに加える必要のある変更は、サーバーを再度アドレス指定することによってのみ達成できます。それ自体(つまり、ajax呼び出しなどのクライアント側スクリプトの助けを借りずに)、これは常にページのリロードを強制します。リロードなしでこれを行う唯一の方法は、クライアント側のスクリプトを使用することです。その後、JavaScriptが必要になります(このページの他の投稿で説明されています)。
サイトに jQuery が含まれている場合は、その目的でよく使用するスムーズなコードを次に示します。
function goToByScroll(id){
$('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}
htmlでは、使用<a href="#anchor_name">Click me</a>