URLタグ(myaddress.html#wheretoscroll)のハッシュの後にあるものに応じて、理論的にはウィンドウの特定の部分までスクロールダウンするjQueryコードがあります。
呼び出されるコードは次のとおりです。
$(document).ready(function() {
anchor = unescape(self.document.location.hash.substring(1))
if (anchor) {
$.scrollTo('#anchor-' + anchor, 500, {offset:-150});
}
}
問題は、ドキュメントが意図した位置からかなり外れた場所にスクロールすることです。ほぼ右上にアンカーが表示されますが、ドキュメントが下がるにつれて不正確さが増すため、下にスクロールしすぎるように見えます。
でも...
.click関数または.hover関数内で同じコードを実行すると、たとえば次のようになります。
$(document).ready(function() {
$('body').hover(function() {
anchor = unescape(self.document.location.hash.substring(1))
if (anchor) {
$.scrollTo('#anchor-' + anchor, 500, {offset:-150});
}
});
});
本来あるべき正確な位置までスクロールします。これは、.readyの時点でDOMが正しく読み取られないという問題のようなものだと思いますか?これを修正するための提案(または、ページが読み込まれるとすぐにアクションをトリガーするが、.readyを介して直接ではない、より洗練された方法)をいただければ幸いです。
重要な場合は、私が使用している.scrollToプラグインは次の場所にあります:http://flesler.blogspot.com/2007/10/jqueryscrollto.html
乾杯...