2011-01-31 4 views
3

次のjqueryコードを使用して、ページの特定の位置に垂直にスクロールしています。これはすべてのブラウザで絶対にうまく動作し、水平スクロールの位置には影響しませんが、正しい場所にスクロールするだけでなく、iphone(モバイルサファリ)で試してみると、水平方向にも左にスクロールします。同様に私はスクロールレットを使用する場合は、正しい場所に水平に行くが、ページの上部に戻ります。それは他のすべてでうまく動作し、私はどこにこの問題の参照を見つけることができません、私は非常に感謝するだろう誰かが私が困惑しているときに私を助けることができる!私はもう1つ(スクロール・スクロール・スクロール・ウインドウ)の後でも、前のスクロール・ポジションで設定したスクロール・ポジションを取り消すことはできません。jquery scrolltopとscrollleftは完璧に動作しますが、iphoneではすべてのスクロールバーがホーム位置に移動します。

if($.browser.opera) 
{ 
    $('html').animate(
    { 
     scrollTop: yscroll - 10 
    }, 
    1000); 
} 
else 
{ 
    $('html, body').animate(
    { 
     scrollTop: yscroll - 10 
    }, 
    1000); 
} 

ありがとうございました!

デイブ

答えて

0

多分あなたが最初の(あなたがscrollLeftをアニメーション場合やscrollTopスプライト)の値を、現在のscrollLeftを取得し、ユーザーエージェントが、それはそれだiphone

var isiPhone = navigator.userAgent.toLowerCase().indexOf("iphone"); 
var isiPad = navigator.userAgent.toLowerCase().indexOf("ipad"); 
var isiPod = navigator.userAgent.toLowerCase().indexOf("ipod"); 

だあなたを伝えるときscrollLeftとscrollTopスプライトの両方をアニメーション化でき最高のは、あなたが別のアニメーションを持っていますが、少なくともあなたが同じ位置

に終了しますので、iphone /パッドiPad/jQuery.animate(scroll) issues

といくつかの問題がありますありません3210
関連する問題