Jac*_*eau 5 javascript dom meteor
我有一个meteor.js用作新闻源的应用程序,其中发布了线程并且人们实时评论线程.这意味着当您查看帖子时,会在上方和下方的帖子中添加新评论,并在上方添加新帖子.这将推动您正在关注的视频向下并离开视口,这是从未预料到的(除非您已经滚动到顶部).
更新滚动以保持与添加新内容相同的视觉中心的最佳方法是什么?
你可以尝试这个方法:
scrollTop值;这是一个例子:
function randomString() {
return Math.random().toString(36).substring(7);
}
$('#addAbove').on('click', function(e){
var newDiv = $('<li class="post">' + randomString() + '</li>');
var savedScrollTop = $('#content').scrollTop();
$('#content').prepend(newDiv);
$('#content').scrollTop(savedScrollTop + newDiv.height());
});
$('#addBelow').on('click', function(e){
var newDiv = $('<li class="post">' + randomString() + '</li>');
$('#content').append(newDiv);
});Run Code Online (Sandbox Code Playgroud)
#content {
height: 100px;
overflow-y: scroll;
}
.post {
height: 40px;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="content">
<li class="post">u9tv190be29</li>
<li class="post">dgdr8gp66rp</li>
<li class="post">93vfntdquxr</li>
</ul>
<button id="addAbove">Add Above</button>
<button id="addBelow">Add Below</button>Run Code Online (Sandbox Code Playgroud)
在当前视口下方附加内容不需要调整。
这是一篇描述类似方法的博客文章,以及一个类似的 SO 问题。
| 归档时间: |
|
| 查看次数: |
325 次 |
| 最近记录: |