假设我有这样的情况:
- 页面长 4000 像素。
- 用户向下滚动页面,因此 1000 像素的内容隐藏在视口上方。
然后,用户单击一个按钮,任意长度的内容通过页面顶部的 AJAX 加载,按下视口下方的按钮(以及用户正在查看的内容)。
我尝试编写一个 Javascript 回调来向下滚动到用户在单击按钮之前正在查看的内容,但体验并不是无缝的(插入新内容时“向上”滚动,然后向后滚动“向下” ”)。
有没有办法让视口固定在用户正在查看的内容上?
这是一个简化的例子,但应该明白这一点。
<div style="height: 1000px; width:1000px;" id="top-div">some content above the fold</div>
<button id="button">Click Me</button>
<img src="img.jpg" alt="Some image the user was looking at when they clicked the button." />
<script>
$("button").click(function() {
$.get('/new/content', function(response) {
$("#top-div").before(response);
});
});
</script>