所以我正在使用 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 像素以上停止,然后突然向下移动到它通常停止的位置。
有人对为什么会发生这种情况有任何想法吗?
谢谢!