ホームページの下部に連絡先フォームを含め、このセクションのアンカーを div id="contact" として指定しました。
任意のページで連絡先ボタンをクリックすると、ホームページに移動し、ページの読み込み時に連絡先フォームに自動的にスクロールします。
ここで見つけた同様の質問を確認した後、これを機能させることに失敗しました: jQuery scroll to ID from different page 試してみると、フォームにジャンプするだけです。スムーズにスクロールしたい。
<li><span>Get in touch</span><a href="index.html#contact">Contact</a></li>
他のページからホームページの連絡先アンカーにスクロールする問題の jquery 関数:
(function($){
var jump=function(e) {
if (e) {
e.preventDefault();
var target = $(this).attr("href");
} else {
var target = location.hash;
}
$('html,body').animate({
scrollTop: $(target).offset().top
},1000,function() {
location.hash = target;
});
}
$('html, body').hide()
$(document).ready(function() {
$('a[href^=#]').bind("click", jump);
if (location.hash) {
setTimeout(function(){
$('html, body').scrollTop(0).show()
jump()
}, 0);
} else {
$('html, body').show()
}
});
私はこの例に似た何かを達成しようとしています: http://vostrel.cz/so/9652944/page.html 違いは、この場合、両方のページに表示される「アンカー ID」の代わりに、アンカー ID (連絡先) は 1 つのページ (ホーム) にのみ表示されます。