我有一个可滚动的div。向下滚动然后将div包装到另一个div中会导致滚动位置重置为顶部。关于如何保留滚动位置的任何想法?
HTML:
<div class="box"><p>Lorem ipsum...</p></div>
<button onclick="wrapme()">wrap me!</button>
JS:
function wrapme(){
$(document.body).wrapInner($("<div>", { class: "wrapper" }));
}
CSS:
.box {
width: 400px;
height: 200px;
overflow: auto;
border: 1px solid #000;
}
.wrapper {
border: 1px solid blue;
}
JSFiddle:https://jsfiddle.net/gyd3r70k/5/
答案 0 :(得分:0)
您必须监控并保存文字&#34; scrollTop&#34;。
试试这个:http://codepen.io/g1un/pen/rrzAVk?editors=1111
function wrapme(){
var top = $('.box').scrollTop();
$(document.body).wrapInner($("<div>", { class: "wrapper" }));
$('.box').scrollTop(top);
}