引导模板jquery动画bug
Bootstramp template jquery animation bug
我使用这个模板为我的网站http://www.bootply.com/100702但是当你点击菜单选项时,动画菜单会有bug和延迟。
点击链接后,页面错误位置闪烁,并显示动画
我怀疑问题出在这段代码中:
/* 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);
})
此代码需要使用点击之间的延迟或其他方法来改进动画吗?
这个bug来自于滚动时ScrollSpy激活。添加spy-activated
类
<div class="navbar navbar-custom navbar-inverse navbar-static-top spy-activated" id="nav">
瞄准类
$('body').scrollspy({ target: '.spy-activated' })
滚动时切换间谍激活。记得手动调整li
元素上的"active"类
/* 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");
});
})
bootp: http://www.bootply.com/YmaEAbUWEf
我在这段代码中发现了一个bug。
你需要使用
e.preventDefault();
禁用section的默认用法。正确的代码:
$('#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);
});
相关文章:
- 如何设置html元素填充的动画
- 如何使用动画实现纸张推车
- 如何在生成下载文件时显示加载动画
- 剑道网格jQuery动画()问题
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- jQuery Lazy加载动画滚动
- jquery动画可以通过编程链接吗
- Javascript将数学动画化
- 动画.CSS重播
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- 如何使用jQuery在动画中期加速动画
- 使用数据上的角度更改设置集合的第一个元素的动画
- 如何使用css动画/javascript使具有背景图像的元素出现
- 如何使用css动画从中心增加边界线
- JQuery动画延长容器不起作用
- 动画CSS进度条
- JavaScript动画从不执行
- 引导模板jquery动画bug
- Javascript: marginLeft动画时的奇怪bug
- Angular 2中ngFor元素上的动画bug