我正在使用使用jquery锚链接将页面动画化为锚点的较旧脚本。它效果很好,但我需要它只是动画制作特定div的内容,而不是整个页面。有关如何定位div而不是页面的想法?jquery链接到动画滚动div而不是整个页面
$(document).ready(function() {
$("a.anchorLink").anchorAnimate()
});
jQuery.fn.anchorAnimate = function(settings) {
settings = jQuery.extend({
speed : 1100
}, 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;
$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
window.location.hash = elementClick
});
return false;
})
})
}
就像一般性评论一样,依靠Javascript的自动分号插入通常是一个糟糕的主意,这是通常被认为是坏事的语言的“特征”,如果你不是小心。明确行结束将有助于防止错误。如果你真的不喜欢行结尾,也许可以尝试使用CoffeeScript,而替代语法不需要行结尾,但它生成的JS将是有效的,并且在正确的位置有行结束。 – GregL 2012-01-15 23:51:18