2

私がオンラインで目にするメソッド/イベントのほとんどは、ユーザーが現在スクロールしているページの深さの値のみを返します。client* を実際にスクロールさせるにはどうすればよいですか? 私がやろうとしているのは、特定のアクションの後、クライアントを (現在の場所から) 215px 下にスクロールさせることです。

更新

必要なイベントで215px下にスクロールするためにこれが機能しています:

$(".mobile_text_focus_fix").focus(function(){
var top = document.body.scrollTop;
top += 215;
window.scrollTo(0,top)
});

ただし、これにより、クライアントはドキュメントの下部から 215px 未満にスクロールできなくなります。クライアントが下から 215 ピクセル以内にある場合、または下にある場合は、下から 215 ピクセルまで移動します。クライアントが下から 215px を少し超えている場合、下に 215px までしかスクロールしません。クライアントを 215 ピクセル下にスクロールしようとしています。または、ドキュメントの下部から 215 ピクセル未満の場合は、下にスクロールします。

更新

私の現在のコードは、ドキュメントの高さを一度計算し、毎回最初の計算に基づいてスクロールしているため、上記の段落で述べた奇妙な問題が発生していました。

ただし、ドキュメントのサイズは、本文に挿入された xml に基づいて変更されます。また、クライアントを下に 215 ピクセル、または下から 215 ピクセル以内にある場合は下にスクロールできる必要もあります。ユーザーが特定のアクションを実行した時間。

このアクションは、さまざまな高さでスクロールしたり、ドキュメントの高さを変更する xml を介してページに配置されたさまざまなコンテンツで複数回発生する可能性があります。基本的に、上記のコードと同じタスクを実行するにはどうすればよいですか?ただし、ドキュメントの高さを毎回再計算しますか?

4

1 に答える 1

2

まず、ドキュメントの現在の位置を取得してdocument.body.scrollTop追加215する必要があります。次に、window.scrollToまたは jQuery.animate()を使用して、現在の位置から 215px 下にスクロールします。

jQueryを使わずに

var top = document.body.scrollTop;
top += 215;
window.scrollTo(0,top)

jQueryを使ってアニメーションで下にスクロール

var top = document.body.scrollTop;
top += 215;
$("html, body").animate({ scrollTop: top  },'100');
于 2013-03-07T15:33:27.503 に答える