2012-08-07 23 views
5

私のモバイルページで私のウェブページを見る私は垂直方向と水平方向にスクロールできますが、これは常に左上隅から始まります。 今私は、window.scrollToまたはこれと同等のものを使ってビューポートを私のカスタム位置に設定したいと思う。 window.scrollはデスクトップブラウザでのみ動作するようです。window.scrollToは携帯電話では動作しません

どのように私はそれを解決することができますか?

+0

あなたの問題が何であるかに、より具体的にしてください。 'window.scrollTo(x、y);'あなたのコンテンツが十分に大きければ、完璧に動作します。 –

+0

私のdomは次のようになります

私はモバイルとデスクトップbrowsernの画像内をスクロールできます。しかし、私はいつ別のスタートポジション、私は画像を見て私はウィンドウを使用しようとする。 scrollTo(x、y);しかし、これはmobilブラウザにないデスクトップでしか動作しません。 – Safari

+0

html、css、JavaScriptのテストケースをご提供ください。イメージの大きさやコンテンツの大きさがわからなければ、問題の場所を特定することはできません。 –

答えて

3

私はそれが最終的に働いた。

私はさらにsetTimeout関数を使用する必要がありました

setTimeout(window.scrollTo(x,y),100); 
+2

タイムアウトの代わりにイベントを使用する必要があります。例えば、Event.observe(window、 'load'、function(){ window.scrollTo(x、x); }) –

+0

私はこの同じ問題を解決しました。非常に奇妙な振る舞い... – patrickfox

+0

私はあなたのコードが正しいとは思わない、実際にはwindow.scrollToは100ms後に呼び出されませんが、すぐに呼び出されます。次のようにしてください: '' 'JavaScriptsetTimeout(function(){window.scrollTo(x、y);}、100);' '' –

0

あなたの内容がの場合は、私のコメントによると、これはうまくいきます。これは、ビューポートよりも大きいことを意味します。具体的なことが分からなければ、ビューポートのメタタグを設定しましたか?あなたのコンテンツのdivまたは画像または何がビューポートの幅の大きさ(iPhone上の320ディップ)を超えた場合

<meta name="viewport" content="width=device-width, initial-scale=1.0"> 

さて、あなたは、x軸上にスクロールすることができます。同じ値はy軸の値が異なっていても同じです。

+0

私はビューポートのためのこのメタタグをすでに持っています 私が使用している画像は約800x1000ピクセルです。だから、ビューポートより大きいですが、scrollTo関数はまだ動作していません – Safari

+0

完全なコンテキストを与えていないかどうかはわかりません; –

+0

ok。見る。私は私の写真を私のウェブページ内で拡大して見るのを見たいと思うと、私は大きいの大きなバージョンを読み込み、その後、私は以前にユーザがタブされた写真の位置にしたい。その点の値は正しい。だから私は使用:window.scrollTo(point.x、point.y); InitZoom関数内で実行します。 – Safari

関連する問題