这是我的工作代码,用于折叠字段集并平滑滚动到它们的锚点,但有时在滚动之前会有一个跳转,这并不是很平滑。
function smoothScrollTo(element) {
var thisTop = $($(element).parent()).offset().top;
$("html, body").animate({
scrollTop: thisTop + "px"
}, {
duration: 600
});
return false;
};
$(document).ready(function () {
$(".collapsible .collapsed").hide();
$(".collapsible legend").html(function () {
var scroll = $(this).parent().hasClass('scroll');
if (scroll == true) {
href = "#" + $(this).parent().attr('id');
} else {
href = "javascript:void(0)";
};
return '<a href="' + href + '">' + $(this).html() + '</a>';
}).click(function () {
$(this).parent().children('.content').slideToggle();
});
$(".collapsible.scroll legend").click(function () {
smoothScrollTo(this);
});
});
我找到了解决方案:e.preventDefault();
需要完美滚动
最终代码:http: //jsfiddle.net/eapo/v6URL/2/