<a>
要素のcummulative offsetTop
とその要素にナビゲートした後の値がscrollTop
の間に予測可能な関係はありますか?javascript:scrollTopとoffsetTopの相違
私は平等であると仮定していましたが、scrollTop
が大きい場合(スクロール位置がページの下にある場合)に発生しました。
以下がより正確に質問を定義しています。
function TotalOffsetTop (e)
{
var offset = 0;
do
offset += e.offsetTop;
while (e = e.offsetParent);
return offset;
}
//navigate to MyBookmark
location.hash = "#MyBookmark"
var BookmarkOffsetTop = TotalOffsetTop(document.getElementByID("MyBookmark"));
var CurrentPosition = document.getElementsByTagName("body")[0].scrollTop;
if (CurrentPosition != BookmarkOffsetTop) alert("Design Flaw!");
私の究極の目標は、その開始、現在のビューポートの上端より上にある最寄りの<a>
タグを見つけることです。これは、ドキュメント内の現在の位置を基準にしてブックマークに戻る(および進む)ことができるためです。
scrollTop
の代わりにoffsetTop
の代わりに使用する必要があるいくつかの対策がありますか?
私はChromeを使用してこの問題を調査していますが、少なくともいくつかの最新のブラウザで動作するものを究極的に探したいと思います。私はjQueryを避けようとしています。
1 jQueryの –
を避けるためにしようとするためにあなたがノーの答えを受け入れることを願って? – Sampath