2009-09-02 7 views
1

gmailで長いスレッドを表示すると、画面の下部にdivが表示され、次のメッセージの作成者の名前が表示されます。より多くのメッセージをスクロールして表示すると、表示されているメッセージの後にあるメッセージの作成者の名前で常にこのdivが更新されます。ユーザーがページ上のどこにいるかを判断するためのJavascript

この機能はどのように実装されていると思いますか?

私はログ情報を持つ長いページを持っており、ユーザーがページ上のどこにいるかをユーザーに思い出させたいと思います。私はgmailのjavascriptを見てみましたが、コードはあまりにも難読化されています。

答えて

1

現在のスクロールオフセットを取得する必要があります。これにより、ユーザーがページのどの位まで下がっているかが決まります。

このオフセットにどの要素があるかを知る必要があります。要素の位置は、各親要素の互いのオフセットを使用して計算されます。

通常、JQuery、MooTools、YUIなどのライブラリには、スクロール位置と要素位置を取得する既存のメソッドがあります。

1

jQueryを使用すると、すべての高さを取得し、現在のスクロール位置に基づいてこのように計算できます。

また、自分が見ているものを「クリック」してから、onfocusで行う必要があるようにすることもできます。

+1

jQueryでもposition()メソッドを使用できます。これにより、先行要素の高さを加算する必要がなくなります。すべての測位方法のリストについては、http://docs.jquery.com/CSSを参照してください。 –

関連する問題