2009-06-20 13 views
18

私は正直言って、私はここで私の深さの方法です。私は、ページをリロードするリンクをクリックするページネーションシステムを作成しました。そして、リスト項目の特定の数が順序付けられていないリストに表示されます。もう一度クリックすると、ページがリロードされ、さらに多くのアイテムが表示されます。 Twitterがあなたのフィードのツイートをどのように表示するのか考えてみてください。現在のスクロール位置を取得し、リンク付き変数として渡しますか?

問題は、上部にあるページをリロードするときです。私が望むのは、それが以前に持っていたページの同じ位置にジャンプすることです。

すでにリンク設定のセレクタがありますが、現在のスクロール位置を取得してジャンプ先の新しいページに渡す方法がわかりません。

ここに私のコードは、これまでのところです:

jQuery(document).ready(function(){ 
    $("a[rel=more]").live("click", function(){ 
     //script... 
    }); 
}); 

はどこ私はここから行くのですか?

+0

私も、私はXSLT変数を読み取ることができる必要があることを行うためにこの仕事をするためにAJAXに取り組んけどよjavascriptで。 あなたが望むのであれば、ここに答えることができます: http://stackoverflow.com/questions/1022732/setting-an-xslt-variable-as-a-javascript-variable –

答えて

29
  1. ページ全体をリロードするのではなく、AJAXを使用してアイテムをリロードします。

  2. window.pageYOffsetwindow.scrollTo(0, y)を使用してスクロール位置を取得し、設定します。

    私は、URLのハッシュに位置を保存したい:

    // after loading the document, scroll to the right position 
    // maybe location.hash has to be converted to a number first 
    $(document).ready(function() { 
        window.scrollTo(0, location.hash); 
    }); 
    
    // I'm not quite sure if reload() does preserve the hash tag. 
    location.hash = window.pageYOffset; 
    location.reload(); 
    
+2

このリストがスクロール可能な場合はDIV DIVのスクロールバーを目的の位置にスクロールさせるにはどうすればよいですか? –

+0

@asabo:わかりませんが、これは可能だとは思わない。カスタムスクロールビューを作成する必要があります。 (それほど難しくありません) –

+2

ブラウザ間の関数でページオフセットを取得するには、次のようにしてください:http://www.howtocreate.co.uk/tutorials/javascript/browserwindow getScrollXY()関数までスクロールダウンします。 –

2

gsはAJAX呼び出しを経由しての代わりに、ページを再読み込みの要素を追加言ったように。

jQuery.ScrollToプラグインを使用しない場合は、これまでに夢見ていたスクロールに関連するすべてのものをサポートしています

1

@Shawn Grigsonのリンクに従って、pageYOffsetはすべてのブラウザで同じようにサポートされていません。

要素の垂直スクロールを取得して設定するためのjQueryソリューション(うまくいけば、クロスブラウザーと互換性がありますが、まだテストしていません)はscrollTop()です。

2

リンクの最後にHTMLアンカーを渡すだけでいいと思います。ブラウザは、一致したアンカーのすぐ隣にある要素に自動的にスクロールします。例:PAGE2の真ん中にある時点で

<a href="page2.html#myanchor">Next page</a> 

<a name="myanchor">My item N</a> 
関連する問題