2012-02-23 16 views
1

可能な重複を持つ:
Mobile Safari bug on fixed positioned button after scrollTop programmatically changed…?scrollTo()iPadと固定要素

私たちは、ページの異なるセクションをスクロールするには、固定ナビゲーションを入れしようとしています。

我々はjqueryのscrollTo()を使用しています。唯一のiPad、問題なく最初のクリックパス上の

が、この1の後に、ナビゲーション上無効になっているようです。 少しでも手をスクロールすると、リンクが再び動作します。 http://lacabaneprod.com/test/

私は私のサイドバーを解決するにはどうすればよい:ここでは

は、コードのですか?

答えて

2

は数週間前に同じ問題に遭遇しました。 「コンテンツ」とは、フォーカスを取得し、画面をタップすると、サイドバーの背後にあるコンテンツを「タップ」するので、この問題が発生した

理由があります。これは、scrollToプラグインを使用する場合、またはscrollTopプロパティでjquery.animateを使用する場合にのみ発生します。この問題を解決するには

は、scrollToアニメーションの後、我々はウィンドウを再配置しました。しかし、また、固定位置が前

+0

答えに感謝します。よりエレガントなものを探した後、$( 'body')要素ではなく、カプセル化divにscrollToを適用しようとしました。それはうまくいく... – scux

0

のiOS 5にこのコードを試してみてくださいサポートされていないことに注意してください

$(window).scrollTop($(window).scrollTop() + 1);  
$(window).scrollTop($(window).scrollTop() - 1); 

は、それが私の作品:

var $fixedElement = $('#nav'); // Replace this with your "fixed" element 

$fixedElement.css({ "position": "relative" }); 
window.scroll(0, 0); 
$fixedElement.css({ "position": "fixed" }); 
1

この問題が発生している人のためにAriel FleslerのLocalScrollプラグインを使用して、上記のAriefの答えが適用され、次のように適用できます:

この場合、私は水平方向にスクロールしているウェブサイトを持っています(したがって、デフォルトで 'x'軸になっています - あなたとは異なるかもしれません)。私は 'オーバーフロー:隠し'(したがって 'ターゲット')に設定されている '#content' divをスクロールしています。そして、Ariefの魔法はすべて「onAfter:function」にあります。

私はこれを調整して、 'window.scroll(0,0)'の代わりに、ページの先頭にスクロールして、window.pageXOffsetを使って現在のウィンドウのスクロール位置を取得し、これに対して変数 "xPos"を設定します(Y軸をスクロールする場合、またはその両方でもwindow.pageYOffsetを使用する必要があります)。この変数は 'window.scroll(xPos、0)'で使用されます - その軸上でスクロールしていないので、y軸の「0」です。私は現在のスクロール位置を計算する方法が異なるかもしれないと信じていますが、これは私のためにはうまくいきました。

私の「オーバーフロー:隠された」とき、私は最初にこの作品を作ることができなかった要素は、実際にhtmlタグだったので、「#content」のdivにこれを移動し、それがうまく働きました。私はiPad 3でテストしていますので、どのようにベーシックな互換性があるのか​​分かりません。

関連する問題