单击并滚动顶部
Click and scrollTop
我在部分战斗机中的 offset.top 有问题。 http://jsfiddle.net/sz8YP/1/
也就是说,单击下一个战斗机后将轮子压得太远。
$(".list-fighters li .toogle").click(function(e) {
$(".list-fighters li").removeClass("open");
$(this).parent("li").toggleClass("open");
$('html, body').animate({scrollTop: $(this).offset().top}, 100);
});
有没有办法解决它?
您需要
在超时时调用scrolltop()
,以使 DOM 有时间更新您之前修改页面高度的调用$(".list-fighters li").removeClass("open");
的offset().top
,如下所示:
var deez = this;
setTimeout(function() {
$('html, body').animate({scrollTop: $(deez).offset().top}, 100);
}, 300);
测试后,更新到 300 毫秒以赶上高度更新。
这都是因为你同时有几个动画。其中一些是用JavaScript定义的,有些是用CSS定义的。
CSS (主.css:233)
.list-fighters li {
transition: height 350ms ease;
-webkit-transition: height 350ms ease;
}
JavaScript
$('html, body').animate({scrollTop: $(this).offset().top}, 100);
如您所见,您开始播放折叠开放战斗机描述的动画,并且需要350ms
才能更新其高度。您需要的是等待这段时间,以获得所有元素的适当高度。
var that = this;
setTimeout(function() {
$('html, body').animate({scrollTop: $(that).offset().top}, 100);
}, 350);
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 背景图像顶部的滚动图像不移动
- 滚动然后捕捉到顶部而不是取消捕捉
- 如何在从顶部滚动时暂停转盘/滑块,并在滚动到顶部时重新开始
- Android默认浏览器:谷歌地图制作“;位置:相对;元素在页面顶部滚动
- 如何将“切换滑块内容”的顶部滚动到视口的中心
- 修复了在页面顶部滚动时居中导航的问题
- 每次在顶部滚动顶部重置
- 为什么有时滚动顶部/滚动左不可写
- 当目标处于顶部滚动状态时,如何从菜单中激活项目
- 请在顶部滚动一次
- 当用户从顶部滚动超过一定距离时,执行Javascript
- 向表格添加水平顶部滚动条的Aurelia方式
- 如何使文档(页面)向左和顶部以及相对于正文的滚动(向左和顶部滚动)
- 从导航底部而非页面顶部滚动至Div
- 顶部滚动-可替代preventDefault()函数
- “无限scroll"代码只适用于顶部滚动
- 当导航栏固定顶部滚动时,引导捕获
- 单击时从窗口顶部滚动到特定位置
- 花式框弹出窗口始终在顶部滚动