Javascript Bootstramp模板jquery动画错误
我在我的网站上使用了这个模板 但是,当你点击菜单选项时,动画菜单会变得杂乱无章 单击链接后,页面将在错误位置闪烁,然后显示动画 我怀疑问题出在以下代码片段中:Javascript Bootstramp模板jquery动画错误,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,我在我的网站上使用了这个模板 但是,当你点击菜单选项时,动画菜单会变得杂乱无章 单击链接后,页面将在错误位置闪烁,然后显示动画 我怀疑问题出在以下代码片段中: /* smooth scrolling for nav sections */ $('#nav .navbar-nav li>a').click(function(){ var link = $(this).attr('href'); var posi = $(link).offset().top+20; $('body
/* smooth scrolling for nav sections */
$('#nav .navbar-nav li>a').click(function(){
var link = $(this).attr('href');
var posi = $(link).offset().top+20;
$('body,html').animate({scrollTop:posi},700);
})
此代码需要使用两次单击之间的延迟或其他方法来改进动画?错误来自滚动时激活的ScrollSpy。 添加类间谍激活 切换间谍激活时滚动。请记住手动调整li元素上的活动类
bootply:我在这段代码中发现了bug 你需要使用
e.preventDefault();
禁用节的默认用法。
正确代码:
$('#nav .navbar-nav li>a').click(function(e){
var link = $(this).attr('href');
var posi = $(link).offset().top;
e.preventDefault();
$('body,html').animate({scrollTop:posi},700);
});
/* smooth scrolling for nav sections */
$('#nav .navbar-nav li>a').click(function(){
$("#nav").removeClass("spy-activated");
$(this).parent().siblings().each( function(){ $(this).removeClass("active"); });
$(this).parent().addClass("active");
var link = $(this).attr('href');
var posi = $(link).offset().top+20;
$('body,html').animate({scrollTop:posi},700, function(){
$("#nav").addClass("spy-activated");
});
})
e.preventDefault();
$('#nav .navbar-nav li>a').click(function(e){
var link = $(this).attr('href');
var posi = $(link).offset().top;
e.preventDefault();
$('body,html').animate({scrollTop:posi},700);
});