1

次のような単純な HTML マークアップが可能かどうかを確認しようとしています。

<a href="www.mysite.com/pageXXX#location1"></a>
<a href="www.mysite.com/page1#location1"></a>
<a href="www.mysite.com/page2#location1"></a>
<a href="www.mysite.com/page3#location1"></a>

...そして、新しいページが何らかの単純な JQuery スクリプトでロードされた#location1ときに、ID までスクロールダウンしますか? または、これが scrollTo プラグインで達成できるものである場合、代わりにどうすればよいでしょうか?

問題は、リンクが pageXXX に存在し、スクロール先の ID がすべてのページにあることです。pageXXX、page1、page2、page3 など......理想的には、URL からハッシュ マークと識別子を削除する方法もある場合、それも素晴らしいことですが、現時点ではスムーズに下にスクロールするだけです。新しいページの ID がすべてです。

4

2 に答える 2

7

setTimeout を追加して、少し待ってから下にスクロールできますか?

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

setTimeout(function(){
      goToByScroll(hash);
},2000);
于 2011-03-03T09:36:32.887 に答える
0

別の方法:

それ以外の

<a href="www.mysite.com/pageXXX#location1"></a>

試す

<a href="www.mysite.com/pageXXX?location1"></a>

次の方法で、ハッシュを取得してリンクに入れることができます。

var nothash = window.location.search;
var hash = nothash.substring(1);

参照:https ://developer.mozilla.org/en/DOM/window.location

ここでは、ページがどこにでも移動するのを防ぎ、十分な速さで起動する場合は、心配することなく次の手順(ハッシュをアニメーションスクロール関数に入れる)を実行できます。

于 2011-07-05T13:09:22.287 に答える