我正在尝试在页面锚点之间添加平滑过渡。
在以下代码中,转换正在运行,但浏览器历史记录不记得锚定导航。使用浏览器后退按钮失败。删除preventDefault()
会使一切正常,但在从上一页位置滚动到目标标记内容之前,页面会闪烁。
我尝试了插件 - 比如address - 没有成功。那么,滚动浏览锚点保存浏览器历史记录的简单方法是什么?
$('a').click(function(e) {
e.preventDefault();
var href = $(this).attr('href');
$('html, body').animate({
scrollTop: $(href).offset().top}, 'slow', 'swing'
);
});
答案 0 :(得分:2)
由this question解决。答案意味着一个不错的jQuery库:smoothanchors。
答案 1 :(得分:0)
替换
$("html,body").animate({
用这个
$("html:not(:animated),body:not(:animated)").animate({
使用其他值中的不同变量名称也是一种好习惯,例如HREF用于变量名称,也是链接属性。