そこで、Cedric Dugas の Anchor Slider を使用しています。誰かがリンクをクリックすると、リンクの href と同じ ID を持つ要素までページがスクロールされます... すべて標準的なものです。
しかし、私がやりたいのは、そのIDより約80ピクセル上で停止することです...これが私が持っているものです。
$(document).ready(function() {
$("a.anchorLink").anchorAnimate()
});
jQuery.fn.anchorAnimate = function(settings) {
settings = jQuery.extend({
speed : 500
}, settings);
return this.each(function(){
var caller = this
$(caller).click(function (event) {
event.preventDefault()
var locationHref = window.location.href
var elementClick = $(caller).attr("href")
var destination = $(elementClick).offset().top - 80;
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
window.location.hash = elementClick
});
return false;
})
})
};
これは、80 ピクセル上に移動するコード行です。
var destination = $(elementClick).offset().top - 80;
問題は、Webkit ブラウザーでは正常に動作することですが、FF および IE では、80 ピクセル上で停止し、通常停止する位置まで突然下に移動します。
なぜこれが起こるのか、誰にも考えがありますか?
ありがとう!