希望实现的效果是:
外层一个大的框架。
内部有一个div。
这个div是一个scrollView可以上下滚动。
有个按钮点击之后在div里增加一个模块。
但是此时滚动条不会动。
希望点击按钮之后增加模块后直接在这个div里滑动到底部展示新增的模块。
是内部可滚动的div到底部不是整个页面。
请问该如何实现?
希望实现的效果是:
外层一个大的框架。
内部有一个div。
这个div是一个scrollView可以上下滚动。
有个按钮点击之后在div里增加一个模块。
但是此时滚动条不会动。
希望点击按钮之后增加模块后直接在这个div里滑动到底部展示新增的模块。
是内部可滚动的div到底部不是整个页面。
请问该如何实现?
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style>
#box{
width: 600px;
height: 600px;
overflow: scroll;
}
.p1,.p2,.p3,.p4{
height: 300px;
background: #ccc;
}
</style>
</head>
<body>
<div>
<div id="box">
<p class="p1">11111</p>
<p class="p2">22222</p>
<p class="p3">33333</p>
<p class="p4">44444</p>
</div>
<button class="btn">添加并滑动</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(".p2,.p3,.p4").hide();
var i = 2;
$(".btn").click(function(){
$(".p" + i).show()
$("#box").scrollTop(300 + (i-2) * 300);
i++;
})
</script>
</body>
</html>
1.设置scrollTop可行。
2.如果新增模块是一个元素,那就直接用element.scrollToView()
3.element.scrollToView()可以传一个参数alignToTop,true表示顶部滑到可视区域顶部,false表示底部滑到可视区域底部。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
获取当前滚动的元素
element
,然后将其element.scrollTop = element.scrollHeight
。