35

を使用してページをスクロールする必要がありますanchor tag

今、私はやっています:

<a href="#div1">Link1</a>

<div id='div1'>link1 points me!!</div>

これは、Link1 をクリックすると正常に動作し、ページは ID「div1」の div にスクロールします。要点は、一度クリックするとサフィックス
となる URL を変更したくないということです。#divLink1

アンカーhrefを次のように試しました

void(0);

location.hash='#div1';
return false;

e.preventdefault;

URL を変更しないようにするにはどうすればよいですか?

4

8 に答える 8

47

jQueryのアニメーションを使用してJeffHinesからこの回答を受け取ります。

function goToByScroll(id){
    $('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}

jQueryを使用している場合は、プロジェクトにライブラリを追加することを忘れないでください。

編集:また、「falseを返す」ことを確認してください。リンクのクリックハンドラーで、それ以外の場合は、URLに「#div1」が追加されます(@niaccurshiに感謝)

于 2013-03-05T11:50:56.710 に答える
45

scrollIntoView他のすべての方法が失敗したときに最高の仕事をしました!

document.getElementById('top').scrollIntoView(true);

'top'移動したい html タグの ID はどこにありますか。

于 2016-05-17T14:49:51.903 に答える
8

あなたの人生を楽にして、以下を試して、他に何かあるかどうか私に知らせてください;-)

<div>top</div>
<div style="height: 800px;">&nbsp;</div>
<div><a href="javascript:void(0);" onclick="window.scroll(0,1);">click here</a></div>

参考までに:あなたは1つ/単一の行で遊ぶ必要があるだけでhref="javascript:void(0);" onclick="window.scroll(0,1);"、それはあなたのために働きます。

良い一日を過ごしてください!

于 2013-03-05T13:29:10.670 に答える
1

ヘンサーの答えを盗んで、すでに設定されている場合がwindow.location.hashあり、ユーザーはページの上部(ハッシュリンクがある場所)に戻ります。

ハッシュはすでに設定されているため、次の方法でそのリンクをクリックして再配置できます。

$(window).scrollTop($('a[name='+id+']').offset().top);
于 2015-08-28T17:10:11.687 に答える