アンカーへのスクロール(jqueryを使用)は一般的ですが、スクロールの後もネイティブスクロールバーでページ全体をスクロールできます。アンカーリンクの後、リンクされたdiv(jquery)のスクロールの高さのみ
これはほぼすべての状況で必要とされていますが、ユーザーがリンクをクリックしてリンクにスクロールさせたい - html/bodyサイズを(divに)サイズ変更してから、別のページにあるように私はFireFoxでこれを達成しましたが、他のすべてのブラウザでコードが誤動作します。 Chromeのスクロールのようなbroswersはうまくいきますが、divの高さは問題ありませんが、jqueryがhtml/bodyをリサイズすると、クロムがページの先頭に戻るようにジャンプします。どのように私はこれを回避することができますか?
FF 5.0の機能は基本的に完璧で、ほとんどのブラウザで複製したいと思っています。
html {
overflow: auto;
}
body {
overflow: hidden;
}
。
例をオフセットここ
function goToByScroll(id){
$('html,body').css('height', '100%');
$('html,body').css('overflow', 'auto');
$('html,body').animate({scrollTop: $("#"+id).offset().top},'slow', function(){
$('html').css('overflow','auto');
$('body').css('overflow','hidden');
$('html,body').css('height', ($("."+id).css('height')));
});
}
J
<div class="links">
<ul class="navigation">
<li><a href="javascript:void(0)" onClick="goToByScroll('linkOne')">linkOne</a>
</li><li>
<a href="javascript:void(0)" onClick="goToByScroll('linkTwo')">linkTwo</a>
</li><li>
<a href="javascript:void(0)" onClick="goToByScroll('linkThree')">linkThree</a>
</li><li>
<a href="javascript:void(0)" onClick="goToByScroll('linkFour')">linkFour</a></li>
</ul>
</div>