2011-12-25 11 views
0

私は訓練と初心者のプログラマーによるグラフィックデザイナーですので、私は簡単にしてください。私は研究して答えられない2つの質問があります。JQuery ScrollLeft to Origin and Equal Increments

http://andychendesign.com/skindeep/

1:ここに参照のための私のライブのサイトです私は時になるように、バックページ更新に左(SafariでCMD-R)へのすべての方法をスクロールするには、サイトを取得しようとしています名前をクリックして更新を試みると、スクロールバーは同じ位置にとどまるだけではありません。この1を含む

私が試した多くのオプション、:

<script language="javascript"> 
    $(document).ready(function() { $('html, body').animate({ scrollLeft : 0 },800); }); 
    } 
    </script> 

が、何も動作しているようです。

2:ユーザーが名前を選択すると、横方向のナビゲーションを支援することを目的としたページ下部に小さな矢印が表示されます。

<script> 
    function goToByScroll2(id){ 
    $('html,body').animate({scrollLeft: $("#"+id).offset().left - 600 },'slow'); 
    } 
    </script> 

    <script> 
    function goToByScroll3(id){ 
    $('html,body').animate({scrollLeft: $("#"+id).offset().left + 600 },'slow'); 
    </script> 

は基本的に、私はスクロール増分が同じになるようにしたいが、戻った後、前方の別の位置に私を置きます:彼らは、この2つの機能によって制御されています。私はこれがidとの相対的なオフセットであると考えています。これを解決する最良の方法は何か分かりません。

ご協力いただきありがとうございます。

+0

クライアントでリフレッシュすると、常に元の位置(左:0)に戻ります。ハッシュフックを使用しない限り、これも予想される動作です。 – David

答えて

1

私は非常にこのようなもののためにscrollToプラグインをお勧めします。 http://demos.flesler.com/jquery/scrollTo/

私はあなたがこのプラグインを使用するときには、風に望ましい結果を得ると確信しています。

希望する結果が得られない場合は、ご報告ください。問題1の場合

$.scrollTo({left:'0'}, 800); 

は確かに働くだろう。問題2の場合

$.scrollTo({left:'+=100px'}, 800); 

は、仕事を行う必要があります。

+0

最初にこのプラグインを使用しようとしましたが、ページを更新するときに左にスクロールしたり、前後に均等にスクロールしたりすることができませんでした。 – andy

+0

scrollToを使用すると、スクロールする要素を指定できるため、非常に動的になります。そして、もしあなたがその均等な増分を持ちたいなら、 '$(...)。scrollTo({top: '110px'、left: '290px'}、800);または相対位置:' $(.. 。)scrollTo({top: ' - = 100px'、左: '+ = 100'}、800); '。なぜそれはあなたのために働かなかったのですか? –

+0

最初の問題については、ページの更新時にイベントが発生することができないためだと思います。 2番目の問題については、私のscrollToコードは、それが配置されているdivを基準にピクセルを加算または減算するためです。 – andy