Javascript函数停止其他函数的工作
这是我的代码: 我认为代码的问题在于:Javascript函数停止其他函数的工作,javascript,jquery,Javascript,Jquery,这是我的代码: 我认为代码的问题在于: $(".nav").click(function (e) { e.preventDefault(); var divId = $(this).attr('href'); $('html, body').animate({ scrollTop: $(divId).offset().top; }, 500);} }); 我认为我的括号有问题,因为它似乎不能正确滚动,甚至不能让持久性标题保持持久性。谁能告诉我哪里
$(".nav").click(function (e) {
e.preventDefault();
var divId = $(this).attr('href');
$('html, body').animate({
scrollTop: $(divId).offset().top;
}, 500);}
});
我认为我的括号有问题,因为它似乎不能正确滚动,甚至不能让持久性标题保持持久性。谁能告诉我哪里出错了吗?您可以从浏览器控制台看到错误:
Uncaught SyntaxError: Unexpected token ;
原因是
设置完scrollTop
值后,只需将其删除即可:
scrollTop: $(divId).offset().top;
// --- ^ remove this
除了.top后面的假分号之外
$('html, body').animate({scrollTop: $(divId).offset().top}, 500);
您可能希望将整个内容包装在一个具有高度的div中,并使用overflow:auto保留菜单
另外,将小提琴改为head而不是onload您现在遇到了什么问题?该代码位中有2个
{
和3个}
。找出要删除的}
应该不会太难。事实上,您有两个正确的选择。chrome开发者控制台将在将来帮助您。当我在这里删除第一个或第二个括号时,},500);}代码>它仍然不工作!我不明白林特想对我说什么来寻求帮助。请允许我问一下您的建议,使用overflow:auto将内容保存在一个div中,这有什么好处?请仔细看看。它将保持菜单的位置